RabbitMQ & Kafka & RabbitMQ 差异

RabbitMQ 是传统消息队列,Kafka 是分布式流处理平台;RabbitMQ 适合业务消息,Kafka 适合高吞吐日志 / 数据流。

RabbitMQ:老牌、可靠、灵活,业务消息首选
Kafka:超高吞吐、顺序写、可回放,大数据 / 日志 / 流处理首选
RocketMQ:国产,高可靠高吞吐,电商秒杀、金融常用

(1)RabbitMQ

协议:AMQP
架构:交换机 + 队列,路由极强(direct/topic/fanout/headers)
特点:
消息可靠,不丢
延迟队列、死信队列、优先级队列非常成熟
适合业务系统解耦、异步、通知
缺点:
吞吐不如 Kafka
集群不如 Kafka 天然分布式
适用场景:订单、支付、物流、邮件、异步任务

(2)Kafka

架构:主题 + 分区 + 副本
特点:
极高吞吐(几十万 TPS)
顺序写磁盘,极快
消息可重复消费、回溯消费
天然分布式、易扩容
缺点:
路由功能弱
实时性稍差一点
不适合灵活的业务路由
适用场景:日志收集、用户行为埋点、大数据同步、流计算

(3)RocketMQ(阿里)

架构类似 Kafka,但更偏向业务
特点:
吞吐高
事务消息强
延迟队列、重试队列非常好用
适用场景:电商、金融、秒杀、高可靠业务
国内互联网公司用得非常多。

选型差异

image.png

模式差异

image.png

事务对比

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容