日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MQ应用场景

發(fā)布時間:2025/3/19 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MQ应用场景 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

消息隊列中間件是分布式系統(tǒng)中的重要組件,主要解決異步消息,應用解耦,流量削峰等問題,從而實現(xiàn)高性能,高可用,可伸縮和最終一致性的架構(gòu)。

使用較多的消息隊列有ActiveMQ,RabbitMQ,Kafka,MateMQ等。

一:異步處理

場景說明:用戶注冊之后,需要發(fā)送注冊郵件和注冊短信,傳統(tǒng)做法如下:

將注冊信息寫入數(shù)據(jù)庫成功后,發(fā)送注冊郵件,再發(fā)送注冊短信,以上三個任務全部完成后,返回給客戶端

引入消息隊列,異步處理,改造后的框架如下:

二 :應用解耦

場景說明:用戶下單之后,訂單系統(tǒng)需要通知庫存系統(tǒng),傳統(tǒng)做法是,訂單系統(tǒng)調(diào)用庫存系統(tǒng)的接口,如下圖所示:

傳統(tǒng)模式的缺點:

  • 假如庫存系統(tǒng)無法訪問,則訂單減庫存將失敗,從而導致下單失敗。
  • 訂單系統(tǒng)與庫存系統(tǒng)耦合。

引入消息隊列后的方案如下圖:

  • 訂單系統(tǒng):用戶下單后,訂單系統(tǒng)完成持久化處理,將消息寫入消息隊列,返回用戶,下單成功。
  • 庫存系統(tǒng):定于下單的消息,獲取下單信息,庫存系統(tǒng)根據(jù)下單信息,進行庫存操作。
  • 假如:在下單時庫存系統(tǒng)不能正常使用,也不影響正常下單,因為下單后,訂單系統(tǒng)寫入消息隊列,不再關心其他的后續(xù)操作了,實現(xiàn)訂單系統(tǒng)與庫存系統(tǒng)的應用耦合。

三:流量削峰

流量削峰也是消息隊列中的常用場景,一般在秒殺或者團搶活動中廣泛應用,
應用場景:秒殺活動,一般會因為流量過大,導致流量暴增,應用掛掉,為解決這個問題,一般需要在應用前端加入消息隊列。

  • 可以控制活動的人數(shù)

  • 可以緩解短時間內(nèi)高流量壓垮應用

  • 用戶的請求,服務器接收后,首先寫入消息隊列,假如消息隊列長度超過最大數(shù)量,則直接拋棄用戶請求或者跳轉(zhuǎn)到錯誤頁面。

  • 秒殺業(yè)務根據(jù)消息隊列中的請求消息,再做后續(xù)處理

總結(jié)

以上是生活随笔為你收集整理的MQ应用场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。