為什麼要使用MQ,以及使用MQ的優缺點

2021-09-12 08:48:39 字數 432 閱讀 5091

為什麼要使用mq

1.解耦

比如a系統需要呼叫b系統的介面傳遞資料,然而當不需要被呼叫的時候,a系統需要重新打包部署到伺服器,這樣操作起來就很麻煩,用上mq之後,只需要管理mq的就顯得簡單的多

2.非同步

比如a系統呼叫b系統的介面,需要等到b系統的整個邏輯處理完之後,a系統才會繼續往下執行,響應變慢,給使用者反映較差

3.削峰

比如向雙十一這樣的節日,每秒的併發量就會很大,通常乙個mysql資料庫併發量不超過每秒2000,再大就容易引起資料庫崩潰,這樣就可以在mq中先堆壓著,然後根據系統能支援的併發量,逐一消費

使用mq的缺點:

1.系統可用性降低:mq若是掛了,容易引起整個服務掛掉

2.系統複雜性增加:要考慮多方面的問題,比如一致性問題,如何讓保證訊息不被重複消費,如何保證訊息可靠傳輸

詳情見下文鏈結

為什麼要使用MQ訊息中介軟體?

在面試大型網際網路公司的時候,很可能會被問到訊息佇列的問題 1.在何種場景下使用了訊息中介軟體?2.為什麼要在系統裡引入訊息中介軟體?3.如何實現冪等?鏈式呼叫是我們在寫程式時候的一般流程,為了完成乙個整體功能,會將其拆分成多個函式 或子模組 比如模組a呼叫模組b,模組b呼叫模組c,模組c呼叫模組d...

面試常問題 為什麼要使用MQ訊息中間

在面試大型網際網路公司的時候,很可能會被問到訊息佇列的問題 1.在何種場景下使用了訊息中介軟體?2.為什麼要在系統裡引入訊息中介軟體?3.如何實現冪等?鏈式呼叫是我們在寫程式時候的一般流程,為了完成乙個整體功能,會將其拆分成多個函式 或子模組 比如模組a呼叫模組b,模組b呼叫模組c,模組c呼叫模組d...

為什麼要使用MQ訊息中介軟體?它解決了什麼問題?

場景說明 使用者註冊後,需要發註冊郵件和註冊簡訊,傳統的做法有兩種1.序列的方式 2.並行的方式 1 序列方式 將註冊資訊寫入資料庫後,傳送註冊郵件,再傳送註冊簡訊,以上三個任務全部完成後才返回給客戶端。這有乙個問題是,郵件,簡訊並不是必須的,它只是乙個通知,而這種做法讓客戶端等待沒有必要等待的東西...