什麼是訊息佇列?

2021-10-18 17:34:42 字數 617 閱讀 7677

作為乙個測試,近兩天開發大哥叫我學習訊息佇列,我也不知道什麼時候能用上,起碼我的測試指令碼是用不到訊息佇列的。就當知識儲備了。

先上概念:

訊息佇列從字面的含義來看就是乙個存放訊息的容器。

訊息佇列可以簡單理解為:把要傳輸的訊息放在佇列中。

訊息:資料

佇列:一種先進先出的資料結構

而我們把資料放到訊息佇列叫做生產者,從訊息佇列裡邊取資料叫做消費者。

有什麼用?

1:解耦

什麼是解耦。首先了解耦合,多個系統之間通過介面互相呼叫,此時耦合性非常高。比如,支付系統要將使用者完成支付的訊息傳送給積分系統,等待積分系統返回結果再傳送訊息給簡訊系統。引入訊息佇列後,可以將支付完成的訊息儲存到佇列,讓積分,簡訊系統自己去拉取訊息進行處理,這個過程叫做解耦。針對這個例子來說好處就是,支付系統的開發人員可以減少精力在介面管理上。

2.非同步

首先並非用執行緒去做非同步。基於解耦,各個的系統都可以通過監聽支付成功的訊息來執行,實現非同步執行。

3.削峰

流量過大時,解決過載問題。場景想象成每年的雙十一0點,資料流大吧,如果當時伺服器處理能力不夠會導致崩潰。那麼我們完全可以將幾十億的請求訊息儲存在訊息佇列當中,分批處理。

什麼是訊息佇列?

訊息佇列有無數開源實現,一般沒必要自己實現。zmq也好rabbitmq也好甚至redis也好,找乙個合適的裝上用就行 就好像rdbms nosql一樣 技術都是解決問題的,訊息佇列解決的是將突發大量請求轉換為後端能承受的佇列請求,比如你的伺服器一秒能處理100個訂單,但秒殺活動1秒進來1000個訂單...

什麼是訊息佇列

訊息 是在兩台計算機間傳送的資料單位。訊息能夠很easy,比如僅僅包括文字字串 也能夠更複雜,可能包括嵌入物件。訊息被傳送到佇列中。訊息佇列 是在訊息的傳輸過程中儲存訊息的容器。訊息佇列管理器在將訊息從它的源中繼到它的目標時充其中間人。佇列的主要目的是提供路由並保證訊息的傳遞 假設傳送訊息時接收者不...

什麼是訊息佇列?

訊息佇列,一般我們簡稱mq 也就是messges queue的意思 這個名詞也很貼切它的技術實現,實現起來也就是訊息 佇列。訊息,也就是一般我們業務的資料,理解起來比較簡單。佇列,這就涉及到資料結構了。佇列的資料結構想必不陌生了,它具有先進先出的特點。這樣我們對訊息佇列就有很鮮明的解釋了 把訊息放到...