rabbitmq是零拷貝技術嗎?
Rabbitmq不是零拷貝技術。rabbitmq是一個分布式消息隊列,用來解耦實現異步和流量控制。
系統架構中,消息中間件起到了什么作用?
消息中間件有三個主要功能:系統間的解耦、異步和流量調峰。我們用例子來說明。
1系統間的解耦假設你在一個電子商務系統中購物。支付成功后,系統該如何告訴物流系統這個消息?有兩種思考
方法一:支付系統直接調用物流系統。就會出現一個問題:支付系統和物流系統有很強的依賴性。當物流系統出現問題時,會直接影響到用戶的交易流程,并導致支付失敗。
二:支付系統向消息中間件推送支付成功消息,交易流程結束。物流系統訂閱該消息以進行后續處理。這樣,即使物流系統出現問題,也不會影響交易系統。
2異步化假設物流系統處理業務需要100毫秒。
方法一:全鏈路響應時間增加100毫秒,耗時增加。
方法二:不需要增加100毫秒的全鏈路時長,這就是異步帶來的性能提升。
3.假設雙11商家做秒殺活動,每秒產生大量訂單數據。
沒有必要采用第一種方法:支付系統的壓力會轉移到物流系統。
方法二:物流系統可以根據系統能力勻速拉數據處理,減少高峰流量。
請注意。請點擊關注按鈕【IT胖子】繼續為大家貢獻互聯網和技術干貨。謝謝你的支持。