您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關消息中間件有哪些使用場景,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
消息中間件的使用場景有:1、異步處理;2、應用的解耦;3、流量的削峰;4、日志處理;5、純粹的消息通信。
消息中間件的使用場景有:
為什么使用消息中間件
解決分布式系統之間消息的傳遞。
電商場景:用戶下單減庫存,調用物流系統,系統擴充后服務化和業務拆分。系統交互,y一般用RPC(遠程過程調用)。如果系統擴充到有幾十個接口,消息中間件來解決問題。
消息中間件有些什么使用場景
一、異步處理
用戶注冊(50ms),還需發送郵件(50ms)和短信(50ms)
串行:(150ms)用戶注冊—》發送郵件----》發送短信
并行(100ms):用戶注冊—》發送郵件
a)、|----》發送短信
消息中間件(56ms):
用戶注冊(50ms)—》(6ms)消息中間件《-----發送郵件
《-----發送短信
說明:一個用戶注冊流程,包含下述業務:
1、注冊處理以及寫數據庫、
2、發送注冊成功的手機短信
3、發送注冊成功的郵件信息
我們使用老方法的話,則會注冊完執行發送短信再執行郵件發送。太low
一般使用的是:在注冊成功后,使用兩個線程去做發送郵件,發送短信操作。
如果用消息中間件:則將兩個線程創建這些事情省了,直接發送消息給消息中間件,然后讓郵件服務和短信服務自己去消息中間件里面去取消息,然后取到消息后再自己做對應的業務操作。就是這么方便
二、應用的解耦
a)、訂單系統---》庫存系統(強耦合)
b)、消息中間件:訂單系統---》消息中間件《----庫存系統(解耦)
說明:用戶購買一筆訂單,訂單成交—》調用庫存系統—1---》返回給訂單系統,此時算一個正常業務。還有不正常的業務,就是用戶訂單完成后,訂單系統并不去滴啊用庫存系統-1操作,而是調用消息中間件,寫入一個訂單信息。又庫存系統自己去消息中間件上去獲取,然后更新庫存,這樣能夠減少互聯網型應用追求的快這一個屬性。而庫存系統讀取訂單間庫存其實這個操作也是非常快的,所以有消息中間件對解耦來說也是一個不錯的方向。
三、流量的削峰
a)、用戶請求-----》秒殺應用
b)、應用的前端加入消息隊列
c)、 用戶請求-----》消息隊列《----秒殺應用
說明:比如,系統舉行秒殺活動,熱門商品。流量蜂擁而至 100件商品,10萬人擠進來怎么辦,10萬秒殺的操作,放入消息隊列。秒殺應用處理消息隊列中的10萬個請求中的100個,其他的打回,通知失敗。流量峰值控制在消息隊列處,秒殺應用不會瞬間被懟死.
四、日志處理
a、錯誤日志---》消息隊列《----日志處理
b)、用戶行為日志--》消息隊列(kafka)《-----日志的存儲或流式處理
說明:日志處理 可能隨時kafka的強項,大數據的日志處理非它莫屬,我沒用過,只知道它很強大。非常強大。
五、純粹的消息通信
關于消息中間件有哪些使用場景就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。