精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

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

要想將此問題回答完美,一定要多方面考慮。首先,我們要搞清楚是什么原因導致的消息積壓。我列舉了以下三種:

1)流量變大,而RabbitMQ服務器配置偏低,導致消息產生速度大于消費速度;

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

3)程序邏輯設計有問題,導致生產者持續生產消息,而消費者不消費或者消費慢;

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

對于第一種情況,很明顯就是資源不夠了,解決方法也很簡單,擴容即可。可以縱向擴容,即增加服務器資源,該加內存加內存,該加CPU加CPU。

如果縱向擴容不方便,那就橫向擴容,即將單機改為集群模式,增加集群節點,并且增加消費者數量,讓消費速度快起來!例如,原來是5個消費者,現在變成50個消費者!

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

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

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

相信,當我們發現消息積壓時,想必問題已經比較嚴重了,或者說已經影響到業務正常運轉了,那么當務之急肯定是需要先將業務恢復正常。對于上面第二種情況,直接重啟相關服務,讓消費者恢復正常,定是首當其沖。

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

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






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10829

    瀏覽量

    211186
  • rabbitmq
    +關注

    關注

    0

    文章

    17

    瀏覽量

    1016

原文標題:面試題:如何解決RabbitMQ消息積壓

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    何解決電感的漏感問題

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

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

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

    特斯拉庫存積壓:挑戰與機遇并存

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

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

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

    何解決修復立磨搖臂軸承位磨損問題

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

    煤氣柜泄漏問題如何解

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

    電鍍塞孔如何解決PCB的信號、機械和環境問題?

    電鍍塞孔如何解決PCB的信號、機械和環境問題?
    的頭像 發表于 02-27 14:15 ?563次閱讀

    何解決鍵槽滾鍵磨損問題

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

    何解決針對破碎機軸磨損問題

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

    基于Docker Compose部署RabbitMQ的經驗分享

    RabbitMQ 是一個功能強大的開源消息隊列系統,它實現了高效的消息通信和異步處理。
    的頭像 發表于 01-03 10:22 ?1808次閱讀
    基于Docker Compose部署<b class='flag-5'>RabbitMQ</b>的經驗分享

    印刷錫膏時出現少錫的問題該如何解決?

    印刷錫膏時出現少錫的問題該如何解決?
    的頭像 發表于 12-11 09:38 ?2468次閱讀
    印刷錫膏時出現少錫的問題該如<b class='flag-5'>何解</b>決?

    redis和rabbitMQ的區別

    Redis和RabbitMQ是兩個流行的開源消息傳遞技術,用于構建高可靠、可擴展和可擴展的應用程序。雖然它們都用于實現消息傳遞機制,但它們在設計和運作方式上存在一些不同之處。在本文中,我們將詳細討論
    的頭像 發表于 12-04 14:48 ?1323次閱讀

    RabbitMq入門教程

    RabbitMQ是一個開源的,在AMQP基礎上完整的,可復用的企業消息系統。
    的頭像 發表于 12-04 11:10 ?478次閱讀
    <b class='flag-5'>RabbitMq</b>入門教程