下载此文档

各种消息队列的比较.docx


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
目前业界有很多 MQ 产品,我们作如下对比:
RabbitMQ
是使用 Erlang 编写的一个开源的消息队列,本身支持很多的协议: AMQP ,XMPP, SMTP,
STOMP ,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个
经纪人 (Broker) 构架,这意味着消息在发送给客户端时先在中心队列排队。 对路由 (Routing) ,
负载均衡 (Load balance) 或者数据持久化都有很好的支持。
Redis
是一个 Key-Value 的 NoSQL 数据库, 开发维护很活跃, 虽然它是一个 Key-Value 数据库存
储系统,但它本身支持 MQ 功能,所以完全可以当做一个轻量级的队列服务来使用。对于
RabbitMQ 和 Redis 的入队和出队操作,各执行 100 万次,每 10 万次记录一次执行时间。
测试数据分为 128Bytes 、512Bytes 、1K 和 10K 四个不同大小的数据。 实验表明: 入队时,
当数据比较小时 Redis 的性能要高于 RabbitMQ ,而如果数据大小超过了 10K ,Redis 则慢
的无法忍受;出队时,无论数据大小, Redis 都表现出非常好的性能,而 RabbitMQ 的出队
性能则远低于 Redis 。
入队 出队
128B 512B 1K 10K 128B 512B 1K 10K
Redis 16088 15961 17094 25 15955 20449 18098 9355
RabbitMQ 10627 9916 9370 2366 3219 3174 2982 1588
ZeroMQ
号称最快的消息队列系统,尤其针对大吞吐量的需求场景。 ZMQ 能够实现 RabbitMQ 不擅
长的高级 /复杂的队列,但是开发人员需要自己组合多种技术框架,技术上的复杂度是对这
MQ 能够应用成功的挑战。 ZeroMQ 具有一个独特的非中间件的模式, 你不需要安装和运行
一个消息服务器或中间件, 因为你的应用程序将扮演了这个服务角色。 你只需要简单的引用
ZeroMQ 程序库,可以使用 NuGet 安装,然后你就可以愉快的在应用程序之间发送消息了。
但是 ZeroMQ 仅提供非持久性的队列, 也就是说如果 down 机,数据将会丢失。 其中,Twitter
的 Storm 中使用 ZeroMQ 作为数据流的传输。
ActiveMQ
是 Apache 下的一个子项目。 类似于 ZeroMQ ,它能够以代理人和点对点的技术实现队列。
同时类似于 RabbitMQ ,它少量代码就可以高效地实现高级应用场景。 RabbitMQ 、ZeroMQ 、
ActiveMQ 均支持常用的多种语言客户端 C++ 、Java 、 .Net, 、 Python 、 Php 、 Ruby 等。
Jafka/Kafka
Kafka 是 Apache 下的一个子项目,是一个高性能跨语言分布式 Publish/Subscribe 消息队
列系统,而 Jafka 是在 Kafka 之上孵化而来的,即 Kafka 的一个升级版。具有以下特性:快
速持久化,可以在 O(1) 的系统开销下进行消息持久化;高吞吐,在一台普通的服务器上既

各种消息队列的比较 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人buhouhui915
  • 文件大小33 KB
  • 时间2018-11-12
最近更新