分享

关于kafka和zeromq的关系问题

yepiaochen 发表于 2015-4-18 10:57:35 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 52452
如题,在安装storm集群的时候,一般都需要安装zeromq和Jzmq,但是kafka和zeromq的作用看起来差不多,都是用来做mq传输用的,那么他们有什么区别的,我在安装storm+kafka集群的时候可以不安装zeromq吗?有没有什么影响。
求解答。。

已有(2)人评论

跳转到指定楼层
tntzbzc 发表于 2015-4-18 12:16:59
ZeroMQ
ZeroMQ号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZMQ能够实现RabbitMQ不擅长的高级/复杂的队列,但是开发人员需要自己组合多种技术框架,技术上的复杂度是对这MQ能够应用成功的挑战。ZeroMQ具有一个独特的非中间件的模式,你不需要安装和运行一个消息服务器或中间件,因为你的应用程序将扮演了这个服务角色。你只需要简单的引用ZeroMQ程序库,可以使用NuGet安装,然后你就可以愉快的在应用程序之间发送消息了。但是ZeroMQ仅提供非持久性的队列,也就是说如果down机,数据将会丢失。其中,Twitter的Storm中默认使用ZeroMQ作为数据流的传输。


Kafka/Jafka
Kafka是Apache下的一个子项目,是一个高性能跨语言分布式Publish/Subscribe消息队列系统,而Jafka是在Kafka之上孵化而来的,即Kafka的一个升级版。具有以下特性:快速持久化,可以在O(1)的系统开销下进行消息持久化;高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统,Broker、Producer、Consumer都原生自动支持分布式,自动实现复杂均衡;支持Hadoop数据并行加载,对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka通过Hadoop的并行加载机制来统一了在线和离线的消息处理,这一点也是本课题所研究系统所看重的。Apache Kafka相对于ActiveMQ是一个非常轻量级的消息系统,除了性能非常好之外,还是一个工作良好的分布式系统。

回复

使用道具 举报

muyannian 发表于 2015-4-18 12:28:39
ZeroMQ 是storm内部消息传输
消息通过各种方式进入到Kafka消息中间件,在Kafka中路由暂存,然后再由实时计算程序Storm做实时分析。
这里kafka与storm是平级的,他们之间是一个传递的过程,而不是依赖,而ZeroMQ则是storm所依赖的,所以还需要安装ZeroMQ
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条