更新時(shí)間:2021-06-17 10:27:42 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2559次
先看下RabbitMQ的基本架構(gòu)
1.簡(jiǎn)單隊(duì)列模式
不用顯示聲明交換機(jī),只需聲明一個(gè)隊(duì)列
生產(chǎn)者指定隊(duì)列名發(fā)送消息給MQ,然后會(huì)有一個(gè)默認(rèn)的交換機(jī)將消息轉(zhuǎn)發(fā)給這個(gè)隊(duì)列。
消費(fèi)者負(fù)責(zé)監(jiān)聽(tīng)這個(gè)隊(duì)列,一有消息就會(huì)得到通知做出響應(yīng)。
2.工作隊(duì)列模式(Work queues)
和簡(jiǎn)單隊(duì)列模式基本一樣,不過(guò)有一點(diǎn)不同,該模式有多個(gè)消費(fèi)者在監(jiān)聽(tīng)隊(duì)列。
RabbitMQ會(huì)以輪詢(xún)的方式將消息發(fā)給多個(gè)消費(fèi)者確保一條消息只會(huì)被一個(gè)消費(fèi)者消費(fèi)
3.發(fā)布訂閱模式(Publish/subscribe)
和上面2種模式默認(rèn)提供交換機(jī)不同的是,該模式需要顯示聲明交換機(jī),
然后可以創(chuàng)建多個(gè)隊(duì)列和這個(gè)交換機(jī)進(jìn)行綁定。
生產(chǎn)者發(fā)消息給mq時(shí)需要指定交換機(jī),然后交換機(jī)將消息轉(zhuǎn)發(fā)給與自己綁定的所有隊(duì)列
消費(fèi)者監(jiān)聽(tīng)指定的隊(duì)列獲得消息。每個(gè)隊(duì)列可以有多個(gè)消費(fèi)者監(jiān)聽(tīng),同樣也是以輪詢(xún)的機(jī)制發(fā)給消費(fèi)者。
4.Routing 模式
和發(fā)布訂閱模式不同的是,隊(duì)列綁定交換機(jī)時(shí)需要指定一個(gè)routingkey
那么生產(chǎn)者發(fā)送消息時(shí)不僅需要指定交換機(jī)還需要指定routingkey
這樣的話(huà)交換機(jī)就會(huì)把消息轉(zhuǎn)發(fā)給跟自己綁定并且routingkey相匹配的隊(duì)列
5.Topic模式
和Routing模式唯一的不同就是可以設(shè)置帶有通配符進(jìn)行模糊匹配的routingkey
6.heard模式
和Routing模式的不同就是取消了routing 使用鍵值對(duì)的方式作為routing
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"RabbitMQ的幾種工作模式",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為您服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743