RabbitMQ 消息該如何插隊,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)公司于2013年開始,先為安仁等服務建站,安仁等地企業(yè),進行企業(yè)商務咨詢服務。為安仁企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
消息中間件在各個大廠都有使用,算是現(xiàn)在面試過程中必問的一個知識點了。群里一直同意和諧社會,拒絕插隊。但是在特殊情況下是可以插隊的,比如醫(yī)院里的急診等。那么 RabbitMQ 消息該如何插隊呢?
這個問題很簡單,RabbitMQ 有優(yōu)先隊列。所以,RabbitMQ 消息隊列優(yōu)先級就可以用來解決“插隊”問題。
生產者生成消息打到交換機里面(如果沒有聲明交換機,會打到 default exchange 里面),交換機綁定一個或多個隊列,消息進入隊列里面,消費者一直在監(jiān)聽隊列,發(fā)現(xiàn)隊列里面有消息就開始消費,這里就是一個消息傳遞的過程,queue 是一個棧隊列,隊列是先進先出的,就是說消息來了依次排隊,一個隊列并不能實現(xiàn)消息的插隊和優(yōu)先推送的功能。但是如果說我們的多個隊列有不同的優(yōu)先級,不同優(yōu)先級的消息通過 roatingkey 進入不同的隊列,優(yōu)先級高的隊列消息被優(yōu)先消費,這樣也能形成一個相對意義上的優(yōu)先級,所以說這里不是消息的優(yōu)先級而是隊列的優(yōu)先級。
RabbitMQ 的消息是不能插隊的,但是它提供的有優(yōu)先隊列。插隊就是要靠高優(yōu)先級的隊列來實現(xiàn)。
在 RabbitMQ 中,設置消息的優(yōu)先級一共有 2 個步驟:設置隊列的 x-max-priority 參數(shù);設置消息的 Priority 參數(shù)。
就這么簡單,做完這個之后就可以驗證優(yōu)先級隊列的作用。當然,需要注意的是,在消費端速度大于生產端速度,且 broker 中沒有消息堆積的話,對發(fā)送的消息設置優(yōu)先級也沒什么實際意義,因為發(fā)送端剛發(fā)送完一條消息就被消費端消費了,那么就相當于 broker 至多只有一條消息,那么對于單條消息來說優(yōu)先級是沒有什么意義的。
看完上述內容,你們掌握RabbitMQ 消息該如何插隊的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞標題:RabbitMQ消息該如何插隊
URL標題:http://sd-ha.com/article18/iidigp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、搜索引擎優(yōu)化、網站策劃、軟件開發(fā)、品牌網站設計、外貿建站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)