RabbitMQ和Kafka到底怎么選?
來(lái)源:cnblogs.com/haolujun/p/9632835.html
前言
RabbitMQ架構(gòu)
broker:每個(gè)節(jié)點(diǎn)運(yùn)行的服務(wù)程序,功能為維護(hù)該節(jié)點(diǎn)的隊(duì)列的增刪以及轉(zhuǎn)發(fā)隊(duì)列操作請(qǐng)求。 master queue:每個(gè)隊(duì)列都分為一個(gè)主隊(duì)列和若干個(gè)鏡像隊(duì)列。

隊(duì)列消費(fèi)

隊(duì)列生產(chǎn)

所以,到這里小伙伴們就可以看到 RabbitMQ的不足:由于master queue單節(jié)點(diǎn),導(dǎo)致性能瓶頸,吞吐量受限。雖然為了提高性能,內(nèi)部使用了Erlang這個(gè)語(yǔ)言實(shí)現(xiàn),但是終究擺脫不了架構(gòu)設(shè)計(jì)上的致命缺陷。
Kafka
另外,關(guān)注互聯(lián)網(wǎng)架構(gòu)師公眾號(hào),回復(fù)“面試”,送你一份面試題寶典!


總結(jié)
本文只做了Kafka和RabbitMQ的對(duì)比,但是開(kāi)源隊(duì)列豈止這兩個(gè),ZeroMQ,RocketMQ,JMQ等等,時(shí)間有限也就沒(méi)有細(xì)看,故不在本文比較范圍之內(nèi)。
所以,別再被這些五花八門的隊(duì)列迷惑了,從架構(gòu)上找出關(guān)鍵差別,并結(jié)合自己的實(shí)際需求(比如本文就只單單從吞吐量一個(gè)需求來(lái)考察)輕輕松松搞定選型。最后總結(jié)如下:
吞吐量較低:Kafka和RabbitMQ都可以。 吞吐量高:Kafka。
本文內(nèi)容參考自RabbitMQ和KafKa官方文檔,所以真要搞懂一個(gè)中間件的原理最好去看官方文檔,文檔里面有詳細(xì)的設(shè)計(jì)方案,我們可以自己進(jìn)行設(shè)計(jì)方案的對(duì)比,從而找出符合自己實(shí)際情況的中間件。
1、滴滴、滿幫、Boss直聘都被調(diào)查,為啥知乎美國(guó)上市沒(méi)被查?
2、字節(jié)跳動(dòng)重大宣布:取消!員工炸了:直接降薪1
評(píng)論
圖片
表情
