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