1. 程式人生 > >MQ 訊息佇列的常用場景

MQ 訊息佇列的常用場景

MQ 的使用場景有很多,但是比較核心的有3個:解耦、非同步、削峰 。

1.解耦

 

A系統傳送個數據到BCD三個系統,介面呼叫傳送,那如果E系統也要這個資料呢?那如果C系統現在不需要了呢?現在A系統又要傳送第二種資料了呢?A系統負責人瀕臨崩潰中。。。再來點更加崩潰的事兒,A系統要時時刻刻考慮BCDE四個系統如果掛了咋辦?我要不要重發?我要不要把訊息存起來?頭髮都白了啊。。。

2.非同步

A系統接收一個請求,需要在自己本地寫庫,還需要在BCD三個系統寫庫,自己本地寫庫要3ms,BCD三個系統分別寫庫要300ms、450ms、200ms。最終請求總延時是3 + 300 + 450 + 200 = 953ms,接近1s,使用者感覺搞個什麼東西,慢死了慢死了。

 

3.削峰

 

每天0點到11點,A系統風平浪靜,每秒併發請求數量就100個。結果每次一到11點~1點,每秒併發請求數量突然會暴增到1萬條。但是系統最大的處理能力就只能是每秒鐘處理1000個請求啊。。。尷尬了,系統會死。。。