為什么要使用消息隊列以及消息隊列的優缺點


1、為什么要使用消息隊列?

  (1)解耦

  傳統模式的缺點:系統間耦合性太強,如上圖所示,系統A在代碼中直接調用系統B和系統C的代碼,如果將來D系統接入,系統A還需要修改代碼,過於麻煩!

  中間件模式:將消息寫入消息隊列,需要消息的系統自己從消息隊列中訂閱,從而系統A不需要做任何修改。

  (2)異步

  傳統模式缺點:一些非必要的業務邏輯以同步的方式運行,太耗時間。

  中間件模式:將消息寫入消息隊列,非必要的業務邏輯以異步的方式運行,以加快響應速度

  (3)削峰

  傳統模式缺點:並發量大的時候,所有的請求直接懟到數據庫,造成數據庫連接異常

  中間件模式:系統A慢慢的按照數據庫能處理的並發量,從消息隊列中慢慢拉取消息。在生產中,這個短暫的高峰期積壓是允許的。

2、使用了消息隊列會有什么缺點?

  分析:一個使用了MQ的項目,如果連這個問題都沒有考慮過,就把MQ引進去了,那就給自己的項目帶來了風險。我們引入一個技術,要對這個技術的弊端有充分的認識,才能做好防御。

  系統的可用性降低:如果消息隊列掛了,那么系統也會受到影響

  系統的復雜性增加:要多考慮很多方面的問題,比如一致性問題、如何保證消息不被重復消費,如何保證消息可靠傳輸。因此,需要考慮的東更多,系統的復雜性增大。

  

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM