RabbitMQ

一 .作用

(1)解耦:在項目啟動之初是很難預(yù)測未來會遇到什么困難由捎,消息中間件在處理過程中插入了一個隱含的诀紊,基于數(shù)據(jù)的接口層,兩邊都實現(xiàn)這個接口隅俘,這樣就允許獨立的修改或者擴展兩邊的處理過程邻奠,只要兩邊遵守相同的接口約束即可。

(2)冗余(存儲):在某些情況下處理數(shù)據(jù)的過程中會失敗为居,消息中間件允許把數(shù)據(jù)持久化

(3)擴展性:消息中間件解耦了應(yīng)用的過程碌宴,所以提供消息入隊和處理的效率是很容易的,只需要增加處理流程就可以了蒙畴。

(4)削峰:在訪問量劇增的情況下贰镣,但是應(yīng)用仍然需要發(fā)揮作用,但是這樣的突發(fā)流量并不常見膳凝。而使用消息中間件采用隊列的形式可以減少突發(fā)訪問壓力碑隆,不會因為突發(fā)的超時負荷要求而崩潰

(5)可恢復(fù)性:當系統(tǒng)一部分組件失效時,不會影響到整個系統(tǒng)蹬音。消息中間件降低了進程間的耦合性上煤,當一個處理消息的進程掛掉后,加入消息中間件的消息仍然可以在系統(tǒng)恢復(fù)后重新處理

(6)順序保證:在大多數(shù)場景下著淆,處理數(shù)據(jù)的順序也很重要劫狠,大部分消息中間件支持一定的順序性

(7)緩沖:消息中間件通過一個緩沖層來幫助任務(wù)最高效率的執(zhí)行

(8)異步通信:通過把消息發(fā)送給消息中間件,消息中間件并不立即處理它永部,后續(xù)在慢慢處理独泞。

(9)? AMQP:高級消息隊列協(xié)議,是應(yīng)用層協(xié)議的一個開放標準苔埋,為面向消息的中間件設(shè)計


二 .執(zhí)行過程

rabbitMQ架構(gòu)

(1) .客戶端連接到消息隊列服務(wù)器懦砂,打開一個Channel。

(2) .客戶端聲明一個Exchange组橄,并設(shè)置相關(guān)屬性荞膘。

(3) .客戶端聲明一個Queue,并設(shè)置相關(guān)屬性晨炕。

(4) .客戶端使用Routing key衫画,在Exchange和Queue之間建立好綁定關(guān)系毫炉。

(5) .客戶端投遞消息到Exchange

三 .隊列模式

1.簡單隊列

2.Work模式

消費者1
消費者2

?說明 : channel.basicQos(1); 同一時刻服務(wù)器只會發(fā)送一條記錄給消費者瓮栗,體現(xiàn)work模式下的能者多勞

3.訂閱模式

申明交換機類型時direct,發(fā)送消息key為 delete
消費者1 綁定到的是insert update delete 所以接受不到消息

說明 :一個生產(chǎn)者多個消費者;每個消費者都有自己的隊列费奸; 生產(chǎn)者將消息發(fā)送到交換機;每個隊列都要綁定到交換機;生產(chǎn)者發(fā)送的消息經(jīng)過交換機達到隊列髓削,實現(xiàn)一個消息被多個消費者獲然赝臁;

4.路由模式

說明 :交換機模式為direct時生效缨历;將隊列綁定到交換機上同時賦予route_key以蕴; 將消息推送到交換機時 指定消息key;當route_key和消息key相同時辛孵,消息就會推送到指定隊列

5.主題模式:將路由鍵和某模式進行匹配

綁定到交換機丛肮,賦予的route_key為 topic.l
接受topic.開頭的消息

四 .sprigboot整合rabbitMQ

1. 在pom中導(dǎo)入meven依賴

2.在配置文件中添加rabbitMQ的配置信息

3.編寫rabbitMQConfig類

交換機,隊列魄缚,通過路由關(guān)鍵字進行綁定

4.定義消費者

@RabbitListener注解指定目標方法來作為消費消息的方法
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宝与,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冶匹,更是在濱河造成了極大的恐慌习劫,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚼隘,死亡現(xiàn)場離奇詭異诽里,居然都是意外死亡,警方通過查閱死者的電腦和手機飞蛹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門须肆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桩皿,你說我怎么就攤上這事豌汇。” “怎么了泄隔?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵拒贱,是天一觀的道長。 經(jīng)常有香客問我佛嬉,道長逻澳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任暖呕,我火速辦了婚禮斜做,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘湾揽。我一直安慰自己瓤逼,他們只是感情好笼吟,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霸旗,像睡著了一般贷帮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诱告,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天撵枢,我揣著相機與錄音,去河邊找鬼精居。 笑死锄禽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的靴姿。 我是一名探鬼主播沟绪,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼空猜!你這毒婦竟也來了绽慈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤辈毯,失蹤者是張志新(化名)和其女友劉穎坝疼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谆沃,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡钝凶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了唁影。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耕陷。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖据沈,靈堂內(nèi)的尸體忽然破棺而出哟沫,到底是詐尸還是另有隱情,我是刑警寧澤锌介,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布嗜诀,位于F島的核電站,受9級特大地震影響孔祸,放射性物質(zhì)發(fā)生泄漏隆敢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一崔慧、第九天 我趴在偏房一處隱蔽的房頂上張望拂蝎。 院中可真熱鬧,春花似錦惶室、人聲如沸温自。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捣作。三九已至,卻和暖如春鹅士,著一層夾襖步出監(jiān)牢的瞬間券躁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工掉盅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留也拜,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓趾痘,卻偏偏與公主長得像慢哈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子永票,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350