RabbitMQ & Kafka & RabbitMQ 差異

RabbitMQ 是傳統(tǒng)消息隊(duì)列,Kafka 是分布式流處理平臺(tái);RabbitMQ 適合業(yè)務(wù)消息,Kafka 適合高吞吐日志 / 數(shù)據(jù)流。

RabbitMQ:老牌、可靠、靈活,業(yè)務(wù)消息首選
Kafka:超高吞吐、順序?qū)?、可回放,大?shù)據(jù) / 日志 / 流處理首選
RocketMQ:國(guó)產(chǎn),高可靠高吞吐,電商秒殺、金融常用

(1)RabbitMQ

協(xié)議:AMQP
架構(gòu):交換機(jī) + 隊(duì)列,路由極強(qiáng)(direct/topic/fanout/headers)
特點(diǎn):
消息可靠,不丟
延遲隊(duì)列、死信隊(duì)列、優(yōu)先級(jí)隊(duì)列非常成熟
適合業(yè)務(wù)系統(tǒng)解耦、異步、通知
缺點(diǎn):
吞吐不如 Kafka
集群不如 Kafka 天然分布式
適用場(chǎng)景:訂單、支付、物流、郵件、異步任務(wù)

(2)Kafka

架構(gòu):主題 + 分區(qū) + 副本
特點(diǎn):
極高吞吐(幾十萬(wàn) TPS)
順序?qū)懘疟P,極快
消息可重復(fù)消費(fèi)、回溯消費(fèi)
天然分布式、易擴(kuò)容
缺點(diǎn):
路由功能弱
實(shí)時(shí)性稍差一點(diǎn)
不適合靈活的業(yè)務(wù)路由
適用場(chǎng)景:日志收集、用戶行為埋點(diǎn)、大數(shù)據(jù)同步、流計(jì)算

(3)RocketMQ(阿里)

架構(gòu)類似 Kafka,但更偏向業(yè)務(wù)
特點(diǎn):
吞吐高
事務(wù)消息強(qiáng)
延遲隊(duì)列、重試隊(duì)列非常好用
適用場(chǎng)景:電商、金融、秒殺、高可靠業(yè)務(wù)
國(guó)內(nèi)互聯(lián)網(wǎng)公司用得非常多。

選型差異

image.png

模式差異

image.png

事務(wù)對(duì)比

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容