分布式消息队列RocketMQ与Kafka的18项差异之“拨乱反正“之2
在前1篇,我讨论了RocketMQ与Kakfa的对比中,几个不太严谨的地方。本着严谨的精神,不偏袒任何一方,本篇想分析一下RocketMQ在Kafka的基础上,的确做的几个改进。有不对之处,敬请指正。
topic/partion数量对性能的影响
我们知道在Kafka中,是每个topic_partition一个文件。虽然每个文件是顺序IO,但topic或者partition过多,每个文件的顺序IO,表现到磁盘上,还是随机IO。
所以为了改进这个,RocketMQ做了一个存储上的重要改变,就是把所有消息存到一个文件里面,单文件的顺序写。topic、partition(在RocketMQ里面,partition叫做queue),在这里只是一个逻辑上的划分。
关于这个,阿里中间件团队,专门写了一篇博客,测试这个。结论是:topic数量增加到一定程度,kafka性能急剧下降。
http://jm.taobao.org/2016/04/07/kafka-vs-rocketmq-topic-amout/
那么对于一个集群,kafka到底多少个partition合适呢,关于这个,也有一篇文章专门论述。
https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/
Kafka同步刷盘性能很低
关于这个,阿里中间件团队,也写了一篇博客。结论是:RocketMQ的同步刷盘性能,是Kafka的8倍。
关于这个的原因,有待看源码分析。
http://jm.taobao.org/2016/04/28/kafka-vs-rocktemq-4/
消费并行度
我们知道,Kafka为了保证每个partition的消息顺序,限制每个partition只能1个consumer消费。比如你的topic有8个partition,最多只能有8个consumer消费。
RocketMQ放开了这个限制,可以不保证消费顺序,也即多个consumer消费同1个partition(queue),这会极大提高消费并行度。
分布式消息队列RocketMQ与Kafka的18项差异之“拨乱反正“之2相关推荐
- 分布式消息队列RocketMQ与Kafka的18项差异之“拨乱反正”
我们知道,阿里的RocketMQ其实源自Kafka.同时网络上一直流传着1篇阿里中间件团队所写的RocketMQ与Kafka的18项差异的文章,并且被广泛转发.比如: http://blog.csdn ...
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?...
我们知道,在早期的RocketMQ版本中,是有依赖ZK的.而现在的版本中,是去掉了对ZK的依赖,转而使用自己开发的NameSrv. 并且这个NameSrv是无状态的,你可以随意的部署多台,其代码也非常 ...
- 分布式消息队列RocketMQ(一)安装与启动
分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...
- 分布式消息队列RocketMQ 快速入门
分布式消息队列RocketMQ 一 RocketMQ概述 概述 1.MQ简介 MQ,Message Queue,是一种提供消息队列服务的中间件,是一套提供了消息生产.存储.消费全过程API的软件系统. ...
- 分布式消息队列RocketMQ继承SpringBoot
一.介绍 Springboot 继承RocketMQ: com.alibaba.cloud spring-cloud-starter-stream-rocketmq 底层封装了 rocketmq-cl ...
- 阿里云消息队列 RocketMQ、Kafka 荣获金融级产品稳定性测评 “先进级” 认证
近日,由中国信通院和混沌工程实验室联合举办的混沌工程技术沙龙–金融行业精品专场顺利召开,并发布金融级产品稳定性测评成果.在分布式系统稳定性评估体系获奖名单中,阿里云分布式消息队列服务成为通过首批消息队 ...
- 分布式消息队列 NSQ 和 Kafka 对比
谈谈分布式消息队列的一些特性,比较两种比较常用的消息队列--NSQ和Kafka 1 消息队列的作用 解耦,将一个流程加入一层数据接口拆分成两个部分,上游专注通知,下游专注处理 缓冲,应对流量的突然上涨 ...
- 分布式消息队列RocketMQ—个人笔记(尚硅谷老雷老师视频)
参考视频:[尚硅谷]RocketMQ教程丨深度掌握MQ消息中间件_哔哩哔哩_bilibili 第一章 RocketMQ概述 一.MQ概述 1.MQ简介 MQ,Message Queue,是一种提供消息 ...
- 分布式消息队列RocketMQ工作原理与应用(一)
第 1 章 RocketMQ概述 一.MQ概述 1 .MQ简介 MQ,Message Queue,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生产.存储.消费全过程API的软件系 ...
最新文章
- 计算机网络第四章ppt谢希仁,计算机网络课件-谢希仁(第四章).ppt
- linux redis 三种启动方式
- (JavaWeb)ServletContext对象
- 数据结构--二叉树 Binary Tree
- bootsrap 外边距_Bootstrap CSS 概览
- jemter的竞品分析
- 在python3中如何加载静态文件详版步骤
- javascript单元测试:jasminejs 2.0的烦恼
- 1499元!魅族Watch“天青”配色正式首销:与手机完全互联互通
- css 设置表格右边有图片_20个web前端HTML5初学者实用CSS代码技巧
- JavaWeb 之 HttpServletResponse
- Mvc 前台 匿名对象
- 破解版超级数据恢复软件-内含已破解注册码
- arduino 有源 蜂鸣器_(二十)arduino入门:蜂鸣器的使用
- 微信公众号文章编辑的几点经验
- 电赛入坑----2017年电赛国赛真题滚球控制系统
- COMSOL 固体力学 第一主应力、第二主应力、第三主应力、径向应力、环向应力、切向应力 截面一维曲线
- Mysql 数据库迁移
- 将文件按照文件名分类到文件夹
- 前端怎么加粗字体_【好程序员独家】100道前端面试题(精选版 含答案)