初识MQ--异步通讯的优缺点
生活随笔
收集整理的這篇文章主要介紹了
初识MQ--异步通讯的优缺点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
異步通訊
?
異步調用則可以避免上述問題:
我們以購買商品為例,用戶支付后需要調用訂單服務完成訂單狀態修改,調用物流服務,從倉庫分配響應的庫存并準備發貨。
在事件模式中,支付服務是事件發布者(publisher),在支付完成后只需要發布一個支付成功的事件(event),事件中帶上訂單id。
訂單服務和物流服務是事件訂閱者(Consumer),訂閱支付成功的事件,監聽到事件后完成自己業務即可。
為了解除事件發布者與訂閱者之間的耦合,兩者并不是直接通信,而是有一個中間人(Broker)。發布者發布事件到Broker,不關心誰來訂閱事件。訂閱者從Broker訂閱事件,不關心誰發來的消息。
Broker 是一個像數據總線一樣的東西,所有的服務要接收數據和發送數據都發到這個總線上,這個總線就像協議一樣,讓服務間的通訊變得標準和可控。
好處:
-
吞吐量提升:無需等待訂閱者處理完成,響應更快速
-
故障隔離:服務沒有直接調用,不存在級聯失敗問題
-
調用間沒有阻塞,不會造成無效的資源占用
-
耦合度極低,每個服務都可以靈活插拔,可替換
-
流量削峰:不管發布事件的流量波動多大,都由Broker接收,訂閱者可以按照自己的速度去處理事件
缺點:
-
架構復雜了,業務沒有明顯的流程線,不好管理
-
需要依賴于Broker的可靠、安全、性能
好在現在開源軟件或云平臺上 Broker 的軟件是非常成熟的,比較常見的一種就是我們今天要學習的MQ技術。
總結
以上是生活随笔為你收集整理的初识MQ--异步通讯的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker镜像仓库
- 下一篇: 初识MQ--mq常见技术介绍