RabbitMQ和kafka从几个角度简单的对比

原创 2013年04月04日 10:17:29

业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比,

在应用场景方面,

RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。

kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。

1)在架构模型方面,

RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)。rabbitMQ以broker为中心;有消息的确认机制。

kafka遵从一般的MQ结构,producer,broker,consumer,以consumer为中心,消息的消费信息保存的客户端consumer上,consumer根据消费的点,从broker上批量pull数据;无消息确认机制。

2)在吞吐量,

kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。

rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。

3)在可用性方面,

rabbitMQ支持miror的queue,主queue失效,miror queue接管。

kafka的broker支持主备模式。

4)在集群负载均衡方面,

kafka采用zookeeper对集群中的broker、consumer进行管理,可以注册topic到zookeeper上;通过zookeeper的协调机制,producer保存对应topic的broker信息,可以随机或者轮询发送到broker上;并且producer可以基于语义指定分片,消息发送到broker的某分片上。

rabbitMQ的负载均衡需要单独的loadbalancer进行支持。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总

MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。 第一...

MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka

MQ选型对比文档 综合选择RabbitMq

R语言基础教程4:柱形图

R语言基础教程1:数据类型R语言基础教程2:散点图R语言基础教程3:曲线图、误差线和图例R语言基础教程4:柱形图R语言基础教程5:图形页面排版R语言基础教程6:程序设计基础R语言基础教程7:数据描述性...

RabbitMQ的安装,配置,监控

上一篇提到了用MongoDB的郁闷,这一篇博客则是尝试了另外一个新东西 - RabbitMQ 的结果。所不同的是,RabbitMQ给我的感觉很棒。强力推荐! 安装 RabbitMQ是基于E...

RabbitMQ和kafka从几个角度简单的对比

业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比, 在应用场景方面, RabbitMQ,遵循AMQP协议,由内在高并发的erl...
  • joeyon
  • joeyon
  • 2017年01月25日 16:42
  • 237

RabbitMQ和kafka从几个角度简单的对比

在应用场景方面, RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。 kafka是Linkedin于2010年12月份开源...

RabbitMQ和kafka从几个角度简单的对比--转

业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比, 在应用场景方面, RabbitMQ,遵循AMQP协议,由内在高并发...

rabbitMq生产者角度:消息持久化、事务机制、PublisherConfirm、mandatory

一、消息持久化

RabbitMq、ActiveMq、ZeroMq、kafka之间的比较

MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RabbitMQ和kafka从几个角度简单的对比
举报原因:
原因补充:

(最多只允许输入30个字)