怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列

這篇文章主要介紹“怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列”,在日常操作中,相信很多人在怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

我們提供的服務有:成都網(wǎng)站建設、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、太谷ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的太谷網(wǎng)站制作公司

延遲隊列:死信隊列通過過期時間實現(xiàn)就是延遲隊列,消息發(fā)送到正常隊列,等待過期,等待rabbitmq將正常隊列中的消息投遞到死信隊列中,消費自己消費死信隊列

優(yōu)先級隊列:x-max-priority指定優(yōu)先級

package com.rabbitmq.demo;

import com.rabbitmq.client.*;

import java.util.HashMap;
import java.util.Map;

public class TtlProduce {
    public static void main(String args[])  throws Exception{
        ConnectionFactory connectionFactory=new ConnectionFactory();
        connectionFactory.setPassword("guest");
        connectionFactory.setPassword("guest");
        connectionFactory.setHost("192.168.1.141");
        connectionFactory.setPort(5672);
        Connection connection=connectionFactory.newConnection();
        Channel channel= connection.createChannel();
        /**
         * 死信隊列出現(xiàn)原因
         * 消息被拒絕 (Basic.Reject/Basic .Na ck) ,井且設置 requeue 參數(shù)為 alse;
         * 消息過期;
         * 隊列達到最大長度。
         */
        //死信隊列
        channel.exchangeDeclare("exchange.dlx" , "direct" , true);
        //正常隊列,先發(fā)送消息到正常隊列,
        channel.exchangeDeclare( "exchange.normal" , "fanout" , true);
        Map<String , Object> map = new HashMap<String, Object>( );
        //消息在正常隊列過期時間
        map.put("x-message-ttl" , 10000);
        //通過x-max-priority指定優(yōu)先級隊列
        map.put("x-max-priority" ,10) ;
//關聯(lián)的死信隊列
        map.put("x-dead-letter-exchange" , "exchange.dlx");
        // 死信隊列路由key
        map.put("x-dead-letter-routing-key" , "routingkey");
        //正常隊列綁定exchange
        channel.queueDeclare("queue.norma1" ,true ,false,false, map);
        channel.queueBind("queue.norma1" , "exchange.normal" , "");
        // 死信隊列綁定exchang
        channel.queueDeclare("queue.d1x" , true , false , false , null) ;
        channel.queueBind("queue.d1x" ,"exchange.dlx" ,"routingkey");
                channel.basicPublish( "exchange.normal" , "rk" ,
                        MessageProperties.PERSISTENT_TEXT_PLAIN, "dlx" .getBytes()) ;
    }
}

管理端展示效果:

怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列

等待時間過期后:

怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列

到此,關于“怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

網(wǎng)站欄目:怎么理解rabbitmq死信隊列,延遲隊列,優(yōu)先級隊列
路徑分享:http://muchs.cn/article20/pdphjo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站外貿(mào)建站、靜態(tài)網(wǎng)站自適應網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營