RabbitMQ使用總結(jié)

MQ是互聯(lián)網(wǎng)業(yè)務(wù)比較常見的解耦利器谴垫,一下簡單介紹下RabbitMQ的一些使用嫩实。

解耦

典型的一個(gè)場景就是訂單系統(tǒng)和財(cái)務(wù)結(jié)算系統(tǒng)堕汞。訂單系統(tǒng)生成訂單之后只需要發(fā)一個(gè)MQ通知到財(cái)務(wù)系統(tǒng)進(jìn)行相應(yīng)的金額賬戶扣減即可罪帖。這里因?yàn)橛脩舨恍枰却?cái)務(wù)系統(tǒng)的操作所以很適合使用MQ的解耦提高用戶體驗(yàn)躁劣。系統(tǒng)間保持最終一致性即可


image.png

削峰填谷

簡單來說就是控制平衡多個(gè)系統(tǒng)之間的流量迫吐。可以使用MQ的拉取模式來控制消費(fèi)端的消費(fèi)速度账忘。與傳統(tǒng)的消費(fèi)端監(jiān)聽模式不同的是拉取模式不需要再配置文件里面配置listener了志膀,如下代碼指定即可:

messageConsumer.start();
for (int i=0;i<100;i++){
    //手動拉取消息
    messageConsumer.pull(topic,messageListener);
}

每調(diào)用一次拉取一次,可以開啟多線程并行消費(fèi)鳖擒。監(jiān)聽模式是有消費(fèi)端的守護(hù)線程不停地拉取消息消費(fèi)的溉浙,更適合要求響應(yīng)快的讀取的場景。拉取模式適合最終能落地可控流量的寫場景蒋荚。

重試補(bǔ)償

由于在系統(tǒng)之間使用MQ通訊會出現(xiàn)各種網(wǎng)絡(luò)異常戳稽,例如消費(fèi)端消費(fèi)成功但是因?yàn)樯a(chǎn)端異常回滾通過定時(shí)任務(wù)重新發(fā)起MQ期升,這時(shí)如果消費(fèi)端沒有實(shí)現(xiàn)消費(fèi)的冪等性就會造成數(shù)據(jù)的不一致惊奇。其中一個(gè)解決方案是,生產(chǎn)端發(fā)送MQ時(shí)帶上請求的流水號并妥善保存播赁,每一條業(yè)務(wù)實(shí)例如訂單重試的時(shí)候需要帶上相同的流水號赊时,這樣消費(fèi)端消費(fèi)時(shí)根據(jù)流水號檢測到已經(jīng)處理過就不會錯(cuò)誤地重復(fù)處理了從而能保證消費(fèi)的冪等性與數(shù)據(jù)一致性。發(fā)送端只需要把生成訂單和發(fā)送MQ這個(gè)操作放到一個(gè)本地事務(wù)即可保證最終的一致性行拢。


image.png

總結(jié)

我簡單介紹了下MQ的一些使用經(jīng)驗(yàn)和場景祖秒。重點(diǎn)列舉了重試補(bǔ)償機(jī)制和數(shù)據(jù)一致性的實(shí)踐,希望以后的學(xué)習(xí)工作中能更加合理地使用舟奠。

參考資料:https://my.oschina.net/wangxindong/blog/1588849

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竭缝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沼瘫,更是在濱河造成了極大的恐慌抬纸,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耿戚,死亡現(xiàn)場離奇詭異湿故,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)膜蛔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門坛猪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人皂股,你說我怎么就攤上這事墅茉。” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵就斤,是天一觀的道長悍募。 經(jīng)常有香客問我,道長洋机,這世上最難降的妖魔是什么坠宴? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮绷旗,結(jié)果婚禮上喜鼓,老公的妹妹穿的比我還像新娘。我一直安慰自己刁标,他們只是感情好颠通,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布址晕。 她就那樣靜靜地躺著膀懈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谨垃。 梳的紋絲不亂的頭發(fā)上启搂,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天,我揣著相機(jī)與錄音刘陶,去河邊找鬼胳赌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛匙隔,可吹牛的內(nèi)容都是我干的疑苫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼纷责,長吁一口氣:“原來是場噩夢啊……” “哼捍掺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起再膳,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤挺勿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后喂柒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體不瓶,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年灾杰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚊丐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡艳吠,死狀恐怖吠撮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤泥兰,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布弄屡,位于F島的核電站,受9級特大地震影響鞋诗,放射性物質(zhì)發(fā)生泄漏膀捷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一削彬、第九天 我趴在偏房一處隱蔽的房頂上張望全庸。 院中可真熱鬧,春花似錦融痛、人聲如沸壶笼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽覆劈。三九已至,卻和暖如春沛励,著一層夾襖步出監(jiān)牢的瞬間责语,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工目派, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坤候,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓企蹭,卻偏偏與公主長得像白筹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子谅摄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容