首頁 常見問題 訊息中間件的使用場景有哪些

訊息中間件的使用場景有哪些

Jul 02, 2020 pm 03:41 PM
訊息中介軟體

訊息中間件的使用場景有: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的強項,大數據的日誌處理非它莫屬,我沒用過,只知道它很強大。非常強大。

 

五、純粹的訊息通訊

以上是訊息中間件的使用場景有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)