分布式消息中间件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
的受控异常,响应中断。当中断发生时正在消费的消息将被回滚。
6. 其他:
- 升级gecko到1.1.2版本,修复并发bug。
7. 升级指南:
- 1.4.3版本的服务端和客户端,可直接升级到1.4.4,保持兼容;1.4.4之前版本的服务端和客户端,需首先升级服务端,等服务端完全升级完毕之后,才可开始升级客户端。
下载和文档
-
下载转移到googlecode上:https://code.google.com/p/meta-queue/downloads/list
Java客户端升级
使用Maven很简单,也可以下载:
<dependency> <groupId>com.taobao.metamorphosis</groupId> <artifactId>metamorphosis-client</artifactId> <version>1.4.4</version> </dependency>
最后感谢很多朋友的帮助。
10 楼 bruce0508 2013-03-15 14:39
淘宝的timetunel已经改用hbase解决存储问题了。
磁盘很贵吗?一个1T盘现在才多少钱。你一天能有多少消息?做个容量规划就知道。
不好意思,写错了,我要说的是metaq,看了metaq的机制,是有做缓冲的。
9 楼 dennis_zane 2013-03-14 10:52
新版1.4.4在delicious.com上跑了两周了,暂时没有发现问题。
8 楼 dennis_zane 2013-03-14 10:52
淘宝的timetunel已经改用hbase解决存储问题了。
磁盘很贵吗?一个1T盘现在才多少钱。你一天能有多少消息?做个容量规划就知道。
7 楼 transist 2013-03-13 15:22
6 楼 bruce0508 2013-03-13 13:51
5 楼 icefishc 2013-03-11 22:30
两位,关于这个消息中间件的背景可以看下这里的介绍性的文档:
https://github.com/killme2008/Metamorphosis/wiki
谢谢, 值得我学习:)
还有一个问题, 他用的哪个License。 淘蝌蚪那个页面似乎有问题, 源码和文档的链接都指向了taobao主页。
能不能透露下这个项目总共用了多长时间来开发呢。 谢谢~
licence。。。。
4 楼 icefishc 2013-03-11 22:30
两位,关于这个消息中间件的背景可以看下这里的介绍性的文档:
https://github.com/killme2008/Metamorphosis/wiki
谢谢, 值得我学习:)
还有一个问题, 他用的哪个License。 淘蝌蚪那个页面似乎有问题, 源码和文档的链接都指向了taobao主页。
能不能透露下这个项目总共用了多长时间来开发呢。 谢谢~
3 楼 dennis_zane 2013-03-11 20:00
两位,关于这个消息中间件的背景可以看下这里的介绍性的文档:
https://github.com/killme2008/Metamorphosis/wiki
2 楼 icefishc 2013-03-11 19:52
1 楼 richard_2010 2013-03-11 09:49