最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

消息隊列mq的作用

2023-03-02 21:21 作者:nannanya13  | 我要投稿

現(xiàn)在的系統(tǒng)都是拆分成多個模塊,模塊直接需要相互調(diào)用來完成協(xié)作。比如商城系統(tǒng),用戶下單時,需要跟訂單系統(tǒng),庫存系統(tǒng),物流系統(tǒng)等多個系統(tǒng)打交道。而且后續(xù)還需要添加更多的系統(tǒng)。

歡迎關(guān)注公眾號:Java面試教程 ,回復(fù)關(guān)鍵字qqq,領(lǐng)取2023面試大全資料?

這樣會導(dǎo)致兩個問題

  • 調(diào)用系統(tǒng)太多,訂單系統(tǒng)成功了,但是調(diào)用物流系統(tǒng)失敗,需要多次重試調(diào)用該系統(tǒng)直到成功,或者回滾訂單系統(tǒng),返回用戶重試,這樣導(dǎo)致響應(yīng)時間長,且系統(tǒng)設(shè)計復(fù)雜

  • 如果后續(xù)需要添加更多的系統(tǒng),需要改造訂單系統(tǒng),不符合系統(tǒng)設(shè)計的開閉原則

引入mq消息中間件后
用戶下訂單后,訂單系統(tǒng)發(fā)送下單成功消息到mq就返回響應(yīng)給用戶了,其他系統(tǒng)通過訂閱消息topic來消費消息,執(zhí)行各自的業(yè)務(wù)邏輯。

  • 依賴mq消息不丟失,可確保其他系統(tǒng)一定會調(diào)用成功,解決了第一個問題;

  • 如果需要添加更多系統(tǒng)交互,只需要訂閱消息的topic,就能消費下單成功的消息,不需要改動到訂單系統(tǒng),解決了第二個問題。

這樣引入了消息隊列中間件之后,就和其他系統(tǒng)解耦了。

二.異步

系統(tǒng)由多個模塊組成時,用戶一個請求,往往需要調(diào)用多個模塊才能返回響應(yīng)。這樣會導(dǎo)致用戶響應(yīng)變慢。如下圖,調(diào)用方式如果是同步的,用戶需要等待16s才能得到響應(yīng)結(jié)果。


引入了mq中間件后
請求A系統(tǒng)+投遞消息到消息隊列約1s,B系統(tǒng)和C系統(tǒng)異步消費mq消息,這樣可以大大縮短響應(yīng)時間,提高系統(tǒng)的吞吐量,性能可以大大的提高。


三.削峰填谷

我們在搞秒殺活動時,往往會影響大量的用戶同時請求下單,這樣如果超過了訂單系統(tǒng)的可承受訪問,就會把系統(tǒng)壓垮,導(dǎo)致用戶無法下單。


引入了mq中間件后
用戶請求先生產(chǎn)消息,發(fā)送到mq,由訂單系統(tǒng)消費mq消息,來處理用戶下單請求,下單請求完成時,通過短信方式通知用戶。


消息隊列mq的作用的評論 (共 條)

分享到微博請遵守國家法律
达日县| 石河子市| 潜山县| 大城县| 合阳县| 胶州市| 修武县| 通山县| 赤壁市| 林州市| 康乐县| 雷山县| 永善县| 贵州省| 新建县| 南昌市| 宁远县| 芮城县| 金阳县| 绵阳市| 济阳县| 彩票| 云梦县| 临安市| 章丘市| 麻栗坡县| 固始县| 昌乐县| 潢川县| 唐河县| 建瓯市| 山丹县| 永宁县| 苍梧县| 梧州市| 汉中市| 辉南县| 寿光市| 鱼台县| 辽中县| 沐川县|