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