Kafka与RabbitMQ对比
Infi-chu:
http://www.cnblogs.com/Infi-chu/
Kafka是LinkedIn在2012年发布的开源的消息发布订阅系统,他主要用于处理活跃的流式数据、大数据量的数据处理上
RabbitMQ由Erlang语言开发,主要用在实时的对可靠性要求较高的消息传递上
1.架构模型
- RabbitMQ遵循AMQP协议,RabbitMQ的borker由Exchange、Binding和Queue组成,其中Exchange和Binding组成了消息的路由键,客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费,有消息确认机制
- Kafka遵循从一般的MQ结构,producer、broker、consumer为中心,消息的消费信息保存在客户端consumer上,consumer根据消费的点,从broker上批量pull数据,无消息确认机制
2.吞吐量
- RabbitMQ吞吐量较低,RabbitMQ支持对消息的可靠传递,支持事物,不支持批量的操作,基于存储的可靠性要求存储可以采用内存或硬盘
- Kafka吞吐量较高,内部采用消息的批量处理,zero-copy机制,数据的存储和获取时候本地磁盘顺序批量操作,复杂度为o(1),消息处理效率较高
3.可用性
- RabbitMQ支持miror和queue,当主queue失效时,miror queue接管
- Kafka的broker支持主备模式
4.负载均衡
- RabbitMQ的负载均衡需要单独的loadbalance进行支持
- Kafka采用zookeeper对集群中的broker、consumer进行管理,可以注册topic到zookeeper上;通过zookeeper的协调机制,producer保存对应的topic的broker信息,可以随机或轮询发送到broker上,并且producer可以基于语义指定分片,消息发送到broker的某个分片上
Kafka与RabbitMQ对比的更多相关文章
- kafka和rabbitmq对比
1.吞吐量kafka吞吐量更高:1)Zero Copy机制,内核copy数据直接copy到网络设备,不必经过内核到用户再到内核的copy,减小了copy次数和上下文切换次数,大大提高了效率.2)磁盘顺 ...
- Kafka和RabbitMQ 对比
1) Kafka成为业界大数据松耦合架构,异步,队列 特点:吞吐量高50m/s. Kafka和RabbitMQ都是MQ机制,它差异 Kafka作为大数据产品,可以作为数据源,也可以作为结果数据中转 ...
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件
引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. ...
- 消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局
一.前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦 ...
- 转 Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和优势
Kafka.RabbitMQ.RocketMQ等消息中间件的对比 —— 消息发送性能和优势 引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前 ...
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能
引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. ...
- Kafka、RabbitMQ、RocketMQ消息中间件的对比
引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,目前对Kafka.RabbitMQ.RocketMQ这三个消息中间件做下对比分析. - - k ...
- Kafka、RabbitMQ、RocketMQ、ActiveMQ 17 个方面综合对比
本文将从,Kafka.RabbitMQ.ZeroMQ.RocketMQ.ActiveMQ 17 个方面综合对比作为消息队列使用时的差异.(欢迎加入Java程序员群:630441304,一起学习交流会) ...
- 转:Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能 (阿里中间件团队博客)
from: http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/ 引言 分布式 ...
随机推荐
- Python之利用Whoosh搭建轻量级搜索
本文将简单介绍Python中的一个轻量级搜索工具Whoosh,并给出相应的使用示例代码. Whoosh简介 Whoosh由Matt Chaput创建,它一开始是一个为Houdini 3D动画软 ...
- vue hover如何触发事件?
vue中并没有 @hover 事件,但是可以使用 @mouseenter 和 @mouseleave 来模拟hover操作.
- tp5.1 无限极分类前台展示
商城前台的多级分类展示,如图所示,一般是三级.所以代码只组装到第三级. 数据库设计,共5个字段.level字段是方便用来显示级别的.pid是父级分类id,pid等于0说明它是一级分类.path字段,举 ...
- Bash脚本编程之数组
数组简介 在bash脚本编程当中,变量是存储单个元素的内存空间:而数组是存储多个元素的一段连续的内存空间. 数组由数组名和下标构成,如下. ARRAY_NAME[SUBSCRIPT] 数组按照下标的类 ...
- React搭建项目(全家桶)
安装React脚手架: npm install -g create-react-app 创建项目: create-react-app app app:为该项目名称 或者跳过以上两步直接使用: npx ...
- Cross-Site Scripting:DOM 跨站点脚本:DOM
- 通过requestAnimationFrame判断浏览器帧率
/** ** 得到浏览器每秒帧数fps ** ** @Date Mar 13 2013 **/ var showFPS = (function(){ var requestAnimationFrame ...
- java bean 属性验证框架 valid
项目介绍 java 开发中,参数校验是非常常见的需求. 但是 hibernate-validator 在使用过程中,依然会存在一些问题. 特性 支持 fluent-validation 支持 jsr- ...
- vue3.0 本地调试时Invalid Host header
问题场景: vue在开发时只能在本地浏览器里查看效果,我想在手机端真机调试,连接的代码还是本地环境,这样就不用频繁的发布了,于是绑定域名并指向本机的localhost:8080: 但是用域名访问时浏览 ...
- 精通awk系列(5):BEGIN和END语句块
回到: Linux系列文章 Shell系列文章 Awk系列文章 BEGIN和END语句块 awk的所有代码(目前这么认为)都是写在语句块中的. 例如: awk '{print $0}' a.txt a ...