天天看點

同步異步調用,并談談消息隊列mq

同步調用優點:

時效性強,打電話、直播,很快可以得到結果

同步調用的問題:

耦合度高

性能和吞吐能力差

有額外的資源消耗

有級聯失敗的問題

異步:

對高并發有要求的功能使用異步

優點:

耦合度低

性能和吞吐能力高

流量削峰(對秒殺來說很重要)

故障隔離

缺點:

異步時效性沒有同步好

依賴于Broker可靠性、安全性等要求高·1—————》Broker—>mq消息隊列

架構明顯變複雜了

場景:

雙11是購物狂節,使用者下單後,訂單系統需要通知庫存系統,傳統的做法就是訂單系統調用庫存系統的接口

訂單系統:使用者下單後,訂單系統完成持久化處理,将消息寫入消息隊列,傳回使用者訂單下但成功。

庫存系統:訂閱訂單的消息,擷取下單資訊,進行庫操作。就算庫存系統出現故障,消息列隊也能保證消息的可靠投遞,不會導緻消息丢失

流量削峰

  場景:秒殺活動,一般會因為流量過大,導緻應用挂掉,為了解決這個問題,一般在應用前端加入消息隊列

作用:

1,可以控制活動人數,超過此門檻值的訂單直接丢棄

2,可以緩解短時間的高流量壓垮應用(應用程式安自己的最大處理能力擷取訂單)