RocketMQ和Kafka到底选哪个

RocketMQ和Kafka到底选哪个_第1张图片

 1、适用场景

kafka:适用于日志处理

rocketmq:适用于业务处理

结论:两者没有区别,根据具体业务定夺

2、性能

kafka:单机写入TPS号称在百万条/秒

rocketmq:大约在10万条/秒

结论:性能方面,kafka单机性能更高

3、可靠性

kafka:异步刷盘,异步Replication

rocketmq:支持异步/同步刷盘,异步/同步Replication

结论:可靠性方面,rocketmq支持同步,可靠性更高

4、实时性

kafka和rocketmq均支持pull长轮询,rocketmq消息实时性更高

结论:rocketmq实时性会更高

5、支持的队列数

kafka:单机超过64个队列/分区,消息发送性能降低严重

rocketmq:单机支持最高5W个队列,性能稳定

结论:长远看,rocketmq胜出

6、消息顺序性

kafka:某些配置下,支持消息顺序,但是一台Broker宕机后,就会产生消息乱序

rocketmq:支持严格的消息顺序,一台Broker宕机后,发送消息会失败,但是不会乱序

结论:rocketmq胜出

7、消息失败重试机制

kafka:消费失败不支持重试

rocketmq:消费失败支持定时重试,每次重试间隔时间顺延

结论:消息重试方面看,rocketmq胜出

8、定时/延时消息

kafka:不支持定时消息

rocktmq:支持定时消息

结论:rocketmq胜出

9、分布式事务消息

kafka:不支持分布式事务消息

rocketmq:支持分布式事务消息

结论:rocketmq胜出

10、消息查询机制

kafka:不支持消息查询

rocketmq:支持根据message id查询消息,也支持根据消息内容查询消息

结论:rocketmq胜出

11、消息回溯

kafka:可以按照offset回溯消息

rocketmq:支持按照时间回溯消息,例如从一天之前的某时某分开始重新消费消息

结论:根据实际情况决定

你可能感兴趣的:(rocket,mq,kafka,java-rocketmq,rocketmq)