消息中間件

1:什麼叫消息中間件(MQ)redis

  沒有具體的定義。消息中間件屬於分佈式系統中的一個工具,相似於redis、mongoDB等第三方的產品。關注 消息的發送和接受,利用高效可靠異步消息傳遞機制,對分佈式系統中的各個子系統進行集成。併發

 

2:爲何使用消息中間價異步

  解耦:以前的項目生成一個war包,把war包拆分紅不一樣的系統。利用消息中間件進行解耦。(這種是鬆耦合)分佈式

  異步處理:咱們只須要把消息放入到mq當中,不用去管後面的操做,這樣就能夠實現異步的機制。高併發

  緩衝:當高併發數據量不少的時候,mq可能處理不了,這時候就能夠先把數據保存起來。而後一點點處理掉。工具

  伸縮性:當高併發的時候,咱們的接受方或者消費方處理起來比較慢,能夠添加集羣來保證咱們系統正常運行。當沒有高併發的時候,也能夠刪除集羣中的應用。spa

  擴展性:當添加一個子系統的時候,只須要訂閱這個mq就無縫的鏈接,當不須要這個子系統的時候,直接刪除就行。日誌

3:應用場景中間件

 解耦:訂單接口調用物流接口,這時候兩個接口是耦合在一塊兒的,能夠將這兩個接口進行拆分,經過消息中間件進行關聯。blog

 異步:用戶註冊,當用戶註冊成功之後,會給用戶發註冊成功的短信、郵件。註冊接口只關注註冊,發短信業務是次要的。這樣子也能夠縮短接口的相應時間。

 緩衝:對日誌的操做,都是數據量很大的,這時候能夠保存到mq中,進行緩衝。

 消息通信也可使用mq進行操做。

 流量削峯:例如秒殺或者團購,在某一時間流量很高,日常很穩定。把數據放入到mq中,而後緩慢的處理,在保存結果。

4:經常使用mq的比較

 

 

 

mq和RPC的區別

  同步性:RPC是同步的,mq是異步的。

  依賴性:RPC是強依賴的,mq是沒有依賴的(只是鬆耦合)

相關文章
相關標籤/搜索