0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何解決RabbitMQ消息積壓的問題?

阿銘linux ? 來源:阿銘linux ? 2023-04-27 10:13 ? 次閱讀

如果你在你簡歷上寫上了熟悉RabbitMQ,那么你在面試時很有可能會被問到,如何解決MQ消息積壓?

要想將此問題回答完美,一定要多方面考慮。首先,我們要搞清楚是什么原因?qū)е碌南⒎e壓。我列舉了以下三種:

1)流量變大,而RabbitMQ服務(wù)器配置偏低,導(dǎo)致消息產(chǎn)生速度大于消費(fèi)速度;

2)消費(fèi)者故障,從而消息只增不減;

3)程序邏輯設(shè)計有問題,導(dǎo)致生產(chǎn)者持續(xù)生產(chǎn)消息,而消費(fèi)者不消費(fèi)或者消費(fèi)慢;

當(dāng)然,還有其它原因,上面三個已經(jīng)能覆蓋80%以上的問題。下面就以這三種情況分別來說說如何應(yīng)對。

對于第一種情況,很明顯就是資源不夠了,解決方法也很簡單,擴(kuò)容即可??梢钥v向擴(kuò)容,即增加服務(wù)器資源,該加內(nèi)存加內(nèi)存,該加CPU加CPU。

如果縱向擴(kuò)容不方便,那就橫向擴(kuò)容,即將單機(jī)改為集群模式,增加集群節(jié)點(diǎn),并且增加消費(fèi)者數(shù)量,讓消費(fèi)速度快起來!例如,原來是5個消費(fèi)者,現(xiàn)在變成50個消費(fèi)者!

對于第二種情況,要通過查看日志搞清楚為什么消費(fèi)者會故障,據(jù)我多年經(jīng)驗(yàn),發(fā)生此類問題大概率是程序代碼寫的不夠完美,跑著跑著導(dǎo)致內(nèi)存溢出,然后消費(fèi)者進(jìn)程被殺。要想永久解決此問題,需要結(jié)合日志分析程序代碼,優(yōu)化代碼。臨時解決方法是寫監(jiān)控腳本,如果發(fā)現(xiàn)消費(fèi)者進(jìn)程中斷,需要重啟服務(wù)!

再來說第三個,這種情況發(fā)生的概率其實(shí)并不高,總之就是程序邏輯問題,判斷的方法也很簡單,持續(xù)觀察服務(wù)器的資源耗費(fèi)情況,如果內(nèi)存、CPU一切都正常,但就是隊列持續(xù)增長,而消費(fèi)速度非常慢。此時,就需要好好查查程序代碼了。當(dāng)然,可以嘗試增加消費(fèi)者數(shù)量,看看是否有好轉(zhuǎn)。

上面說的只是“亡羊補(bǔ)牢”的操作,但還沒有說如何將當(dāng)前已經(jīng)積壓的隊列給快速消耗掉。

相信,當(dāng)我們發(fā)現(xiàn)消息積壓時,想必問題已經(jīng)比較嚴(yán)重了,或者說已經(jīng)影響到業(yè)務(wù)正常運(yùn)轉(zhuǎn)了,那么當(dāng)務(wù)之急肯定是需要先將業(yè)務(wù)恢復(fù)正常。對于上面第二種情況,直接重啟相關(guān)服務(wù),讓消費(fèi)者恢復(fù)正常,定是首當(dāng)其沖。

除此之外,還有一種“斷尾求生”的騷操作,就是新開一個隊列,將新產(chǎn)生的消息到新隊列里,消費(fèi)者也到新隊列里消費(fèi)。而老的隊列,則需要做一個異步處理,慢慢消費(fèi)掉即可。

當(dāng)然,如果積壓的消息不怎么重要,可有可無的話,那干脆直接刪除掉,這樣大家都省事不是。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10873

    瀏覽量

    212023
  • rabbitmq
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    1035

原文標(biāo)題:面試題:如何解決RabbitMQ消息積壓

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    磁極是如何解決磁集成產(chǎn)品電磁干擾的?

    磁集成后,有哪些新的電磁干擾源?該如何解決這些新的干擾源?磁極又是如何解決這些問題的? 磁集成后,EMC比分立磁性元件更難通過,到底是什么原因?qū)е碌??磁性元件企業(yè)又有哪些辦法可以解決?今天我們采訪
    的頭像 發(fā)表于 12-06 11:27 ?184次閱讀
    磁極是如<b class='flag-5'>何解</b>決磁集成產(chǎn)品電磁干擾的?

    何解決熱插拔時的電壓過沖

    電子發(fā)燒友網(wǎng)站提供《如何解決熱插拔時的電壓過沖.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:34 ?0次下載
    如<b class='flag-5'>何解</b>決熱插拔時的電壓過沖

    何解決工字電感噪音大的問題

    電子發(fā)燒友網(wǎng)站提供《如何解決工字電感噪音大的問題.docx》資料免費(fèi)下載
    發(fā)表于 09-04 11:46 ?0次下載

    何解決電感的漏感問題

    電子發(fā)燒友網(wǎng)站提供《如何解決電感的漏感問題.docx》資料免費(fèi)下載
    發(fā)表于 09-02 14:48 ?0次下載

    何解決貼片繞線功率電感的兼容問題

    電子發(fā)燒友網(wǎng)站提供《如何解決貼片繞線功率電感的兼容問題.docx》資料免費(fèi)下載
    發(fā)表于 07-04 17:04 ?0次下載

    特斯拉庫存積壓:挑戰(zhàn)與機(jī)遇并存

    近日,特斯拉面臨了前所未有的庫存積壓問題,引發(fā)了業(yè)界和市場的廣泛關(guān)注。據(jù)Sherwood News報道和SkyFi提供的衛(wèi)星圖像對比,特斯拉位于得克薩斯州的內(nèi)華達(dá)超級工廠周圍的停車場,在短短幾個月
    的頭像 發(fā)表于 06-13 11:54 ?892次閱讀

    何解決工字型功率電感的應(yīng)用不良情況

    電子發(fā)燒友網(wǎng)站提供《如何解決工字型功率電感的應(yīng)用不良情況.docx》資料免費(fèi)下載
    發(fā)表于 05-23 09:40 ?0次下載

    貼片繞線工字電感發(fā)熱問題如何解

    電子發(fā)燒友網(wǎng)站提供《貼片繞線工字電感發(fā)熱問題如何解決.docx》資料免費(fèi)下載
    發(fā)表于 05-06 10:29 ?0次下載

    何解決連接國外大帶寬服務(wù)器時可能遇到的問題

     相信很多小白用戶會對如何解決連接國外大帶寬服務(wù)器時可能遇到的問題感興趣,RAK部落小編就為您整理發(fā)布如何解決連接國外大帶寬服務(wù)器時可能遇到的問題。
    的頭像 發(fā)表于 03-19 12:00 ?506次閱讀

    何解決修復(fù)立磨搖臂軸承位磨損問題

    何解決修復(fù)立磨搖臂軸承位磨損問題
    發(fā)表于 03-15 15:41 ?0次下載

    4260紙機(jī)烘缸軸磨損是如何解決的

    電子發(fā)燒友網(wǎng)站提供《4260紙機(jī)烘缸軸磨損是如何解決的.docx》資料免費(fèi)下載
    發(fā)表于 03-14 15:09 ?0次下載

    煤氣柜泄漏問題如何解

    電子發(fā)燒友網(wǎng)站提供《煤氣柜泄漏問題如何解決.docx》資料免費(fèi)下載
    發(fā)表于 03-05 17:49 ?0次下載

    電鍍?nèi)兹?b class='flag-5'>何解決PCB的信號、機(jī)械和環(huán)境問題?

    電鍍?nèi)兹?b class='flag-5'>何解決PCB的信號、機(jī)械和環(huán)境問題?
    的頭像 發(fā)表于 02-27 14:15 ?611次閱讀

    何解決鍵槽滾鍵磨損問題

    電子發(fā)燒友網(wǎng)站提供《如何解決鍵槽滾鍵磨損問題.docx》資料免費(fèi)下載
    發(fā)表于 02-04 14:24 ?0次下載

    何解決針對破碎機(jī)軸磨損問題

    電子發(fā)燒友網(wǎng)站提供《如何解決針對破碎機(jī)軸磨損問題.docx》資料免費(fèi)下載
    發(fā)表于 01-17 16:30 ?0次下載