Skip to content
killme2008 edited this page Mar 8, 2013 · 49 revisions

#Metaq release notes ##Metaq 1.4.4更新日志 1.配置变更:

  • 添加新选项stat,可设置全局是否开启实时统计,默认为false
  • 添加新选项updateConsumerOffsets,当消费者的offset不在Broker的数据范围内,是否强制更新消费者的offset为当前最大offset。默认为false。测试开发环境建议开启此选项,生产环境不建议。
  • 添加新选项loadMessageStoresInParallel,是否在启动的时候并行加载数据,提高启动速度,默认为false。

2.协议变更:

  • put协议添加checksum,服务端将根据checksum校验producer发送的消息数据是否完整。
  • sync协议新增checksum,类似put
  • stats协议新增reset和help命令,分别用于重设实时统计数据和打印帮助信息。

3.易用和稳定性改进:

  • 新增local模式启动服务器,它将启动一个内置的zookeeper服务器并启动metaq服务器,方便用户测试开发。生产环境仍然建议用单独的zookeeper集群。

    ./metaServer.sh start local

  • 添加服务端启动时的配置参数校验,帮助检查配置错误。

  • metaServer.sh新增slave-status命令,用于查看异步复制状态。

  • 更优雅地关闭服务器,避免数据损坏。

  • 当服务器端列表变动的时候,尽量避免producer发送消息异常。

  • 当同步复制的slave服务端无法服务时,master服务器将尽快返回失败异常给producer。

  • 改进consumer的负载均衡实现,更快速和稳定地实现负载均衡。

  • 修复producer可能出现的连接内存泄漏。

4.性能改进:

  • 改进group commit实现

5.新功能,主要改进在Java客户端的API上:

  • Java客户端新增RejectConsumptionHandler接口,当消费消息尝试多次失败后将调用此接口的rejectConsumption方法处理。
  • Java客户端MessageConsumer接口新增setRejectConsumptionHandler方法用于设置拒绝消费处理器。
  • Message对象新增readOnly属性,可设置消息是否只读。在PartitionSelector的getPartition方法中,消息将强制为只读。
  • MessageListener接口的recieveMessages方法可抛出InterruptedException的受控异常,响应中断。当中断发生时正在消费的消息将被回滚。

##Metaq 1.4.3 release notes

1.Impl a ruby client for metaq

2.Improved python client for metaq

3.Added two new options in server.ini: acceptPublish and acceptSubscribe to control whether the broker or topic can accept messages from producer or accept subscription from consumer. Note:these options only influence the new clients(1.4.3) behavior,old clients will not be influenced.

4.Make stopping broker more friendly by JMX instead of kill.

5.Other small changes: upgrade gecko to 1.1.1 and quartz to 2.1.4 version;internal refactoring and added integration test.

Metaq 1.4.2 release notes

1.Adds new api to get partitions for topic in MessageSessionFactory:

  public List<Partition> getPartitionsForTopic(String topic)

2.Copy new topics config from master to asynchronous slave broker automatically.A new option in async_slave.properties to control :

 autoSyncMasterConfig=true

3.Adds new api to get statistics from broker in MessageSessionFactory

  public Map<InetSocketAddress, StatsResult> getStats() throws InterruptedException;
  public Map<InetSocketAddress, StatsResult> getStats(String item) throws InterruptedException;
  public StatsResult getStats(InetSocketAddress target) throws InterruptedException;
  public StatsResult getStats(InetSocketAddress target, String item) throws InterruptedException;

4.Merge tools and server-wrapper projects,provide a powerful script metaServer.sh to manage broker.

5.Provides bat script to run broker on windows.

6.Adds a new contrib project meta-python -- metaq client for python,it only supports sending message now.

7.Adds a new stat item config,you can use stat config to get broker's config file content.

8.Other small changes,including statistics improvement etc.

Clone this wiki locally