标签:异步 区别 支持 Kafka 重试 消息 RocketMQ
RocketMQ和Kafka区别
1)适用场景
Kafka适合日志处理
RocketMQ适合业务处理
结论:平手,根据具体业务定夺
2)性能
kafka单机写入TPS号称在百万条/秒;
RocketMQ大约在10万条/秒;
结论:追求性能的话,kafka单机性能更高
3)可靠性
RocketMQ支持异步/同步刷盘;异步/同步 Replication;
Kafka使用异步刷盘方式,异步Replication;
结论:RocketMQ所支持的同步方式提升了数据的可靠性。
4)实时性
均支持pull长轮询,RocketMQ消息实时性更好
结论:RocketMQ胜出。
5)支持的队列数
Kafka单机超过64个队列/分区,消息发送性能降低严重;
RocketMQ单机支持最高5万个队列,性能稳定;
结论:长远来看,RocketMQ胜出,这也是适合业务处理的原因之一
6)消息顺序性
Kafka某些配置下,支持消息顺序,但是一台Broker宕机后,就会产生消息乱序;
RocketMQ支持严格的消息顺序,在顺序消费场景下,一台Broker宕机后,发送消息会失败,但是不会乱序。
结论:RocketMQ胜出
7)消费失败重试机制
Kafka消费失败不支持重试
RocketMQ消费失败支持定时重试,每次重试间隔时间顺延
8)定时/延时消息
Kafka不支持定时消息;
RocketMQ支持定时消息
9)分布式事务消息
Kafka不支持分布式事务消息
RocketMQ支持分布式事务消息
10)消息查询机制
Kafka不支持消息查询
RocketMQ支持根据Message Id查询消息,也支持根据消息内容查询消息
11)消息回溯
Kafka理论上可以按照Offset来回溯消息
RocketMQ支持按照时间来回溯消息,精度毫秒,例如从一天之前的某分某秒开始重新消费消息
RocketMQ诞生的场景
1)Kafka的业务应用场景主要定位于日志传输;对于复杂业务支持不够。
2)RocketMQ具有数据可靠性、数据实时性、消息队列的个数更多等特点;更符合业务严谨的项目。
3)Kafka针对的是海量数据的场景,但是对数据的正确性要求不是特别严格。但是像关于交易等对数据的正确性要求特别高的,Kafka不是特别适合
标签:异步,区别,支持,Kafka,重试,消息,RocketMQ 来源: https://www.cnblogs.com/yssd/p/15195106.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。