一、MQ適用於哪些業務場景?MQ有什么用?


MQ,英文全拼為message queue,直譯為消息隊列。一個隊列,用來存放消息。

1、MQ經常應用於哪些業務場景?

異步,解耦,消峰,MQ的三大主要應用場景。

 

1.1 異步。

異步就是MQ的第一個能力。可以將一些非核心流程,如日志,短信,郵件等,通過MQ的方式異步去處理。這樣做的好處是縮短主流程的響應時間,提升用戶體驗。

1.2 解耦。

假設現在,日志不光要插入到數據庫里,還要在硬盤中增加文件類型的日志,同時,一些關鍵日志還要通過郵件的方式發送給指定的人。那么,如果按照原來的邏輯,A可能就需要在原來的代碼上做擴展,除了B服務,還要加上日志文件的存儲和日志郵件的發送。但是,如果你使用了MQ,那么,A服務是不需要做更改的,它還是將消息放到MQ中即可,其它的服務,無論是原來的B服務還是新增的日志文件存儲服務或日志郵件發送服務,都直接從MQ中獲取消息並處理即可。這就是解耦,它的好處是提高系統靈活性,擴展性。

1.3 消峰。

這個其實也很好理解,因為MQ的本質就是業務的排隊。所以,面對突然到來的高並發,MQ也可以不用慌忙,先排好隊,不要着急,一個一個來。消峰的好處就是避免高並發壓垮系統的關鍵組件,如某個核心服務或數據庫等。

2、MQ有哪些缺點?

 2.1 系統復雜性增加。

畢竟是增加了一個中間件MQ,那么系統變得更復雜,就是不可避免的。但是,與其說是系統復雜性增加,不如說是給相關開發人員帶來的新的學習成本。但是,一項技術本身就是這樣,學時很痛苦,學會了,它就會變成一把利劍,幫助您開疆辟土。

2.2 系統可用性降低。

假設一個系統由若干個節點鏈式組成,每個節點出問題的概率是相同的,那么,20個節點的系統出問題的概率顯然要高於10個節點的系統。所以,從這個角度來看,畢竟是增加了一個MQ中間件,出問題的概率顯然會增大,系統可用性就會降低。

 

 


免責聲明!

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



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