联系
Knight's Tale » 技术

RocketMq(metaQ) 与 kafka

2015-04-29 17:08

metaQ 与 kafka

metaQ的介绍可见这里: https://github.com/killme2008/Metamorphosis/wiki/%E4%BB%8B%E7%BB%8D

他写了挺多与kafka的不一样的地方:

  • 文本协议设计,非常透明,支持类似memcached stats的协议来监控broker
    • 监控方法:其实只是kafka的一个监控扩展
  • 纯Java实现,从通讯到存储,从client到server都是重新实现。
    • 这个没啥好说的。。
  • 提供事务支持,包括本地事务和XA分布式事务
    • 事务支持应该是比较给力的,借鉴了ActiveMQ的redo实现方式
    • 但是这里事务感觉有点勉强,因为如果我要事务这个属性,完全 可以考虑activemq或者rmq来做这些事情。另外,它的分布式事务也只是局限在metaq本身,对于全局的各种分布式还是没有提供解决方案。
  • 支持HA复制,包括异步复制和同步复制,保证消息的可靠性
    • 这个没啥好说的。。
  • 支持异步发送消息
    • 这个kafka也有啊。。
  • 消费消息失败,支持本地恢复
  • 多种offset存储支持,数据库、磁盘、zookeeper,可自定义实现
    • 这个我想未来kafka也会想要做这个事情,也只是kafka的一个扩展
  • 支持group commit,提升数据可靠性和吞吐量。
  • 支持消息广播模式
  • 一系列配套项目:python客户端、twitter storm的spout、tail4j等。

一些更详细的可见这里:

总结

相对于来kafka的设计 是非常 漂亮和简洁的,通过重新kafka源码,并实现一个自己的(微创新)kafka 对于自己能力的提升肯定是非常 正面的。

其它

开放消息服务ONS(Open Notification Service)是基于阿里开源消息中间件MetaQ(RocketMQ)打造的一款云消息产品,历经多次天猫双十一海量消息考验,在阿里巴巴内部有1000+个应用在使用,产品成熟稳定可靠, 是构建大型分布式系统的核心组件之一。它能为分布式应用系统提供异步解耦、削峰填谷能力,同时也具有海量消息堆积,高吞吐,可靠重试等互联网应用所需特性。从2014年10月至今开始对外公测,目前ONS提供了北京,青岛,杭州三大Region的高可用集群(产品稳定性及可用性完全按照阿里巴巴内部标准来实施,无单点,99.99%的高可用性),公测期间完全免费。

http://www.aliyun.com/product/ons

阿里RocketMQ Quick Start: http://blog.csdn.net/a19881029/article/details/34446629

本文链接地址:RocketMq(metaQ) 与 kafka