日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

RabbitMQ代碼篇之過期時間,死信隊列,延遲隊列,優(yōu)先級隊列的基本使用

來源: 責編: 時間:2024-03-18 09:38:28 198觀看
導讀這篇是 代碼篇 ,略過 Direct,F(xiàn)anout,Topic 這幾種基本隊列的使用介紹,但是 Github 倉庫上可以查看到的。圖片<( ̄︶ ̄)↗[GO!]沖沖沖~死信隊列死信是指有這三個特點的消息消息被拒絕,且沒有重新入隊(投遞)消息過期消息隊列滿了// n

這篇是 代碼篇 ,略過 Direct,F(xiàn)anout,Topic 這幾種基本隊列的使用介紹,但是 Github 倉庫上可以查看到的。OfD28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片OfD28資訊網(wǎng)——每日最新資訊28at.com

<( ̄︶ ̄)↗[GO!]OfD28資訊網(wǎng)——每日最新資訊28at.com

圖片沖沖沖~OfD28資訊網(wǎng)——每日最新資訊28at.com

死信隊列

死信是指有這三個特點的消息OfD28資訊網(wǎng)——每日最新資訊28at.com

  • 消息被拒絕,且沒有重新入隊(投遞)
  • 消息過期
  • 消息隊列滿了
// nack 返回 false,并放棄重新回到隊列channel.basicNack(deliveryTag, false, false);//拒絕,不重新入隊列channel.basicReject(deliveryTag, false);

死信交換機 —— DLX:Dead-Letter-ExchangeOfD28資訊網(wǎng)——每日最新資訊28at.com

@Beanpublic DirectExchange directExchange2() {    /**     * 交換機名,后面兩個是默認值就:持久化,不自動刪除     */    return new DirectExchange(RabbitMQConstants.DIRECT_EXCHANGE2, true, false);}@Beanpublic Queue directQueue2() {    return QueueBuilder            .durable(RabbitMQConstants.DIRECT_QUEUE2)            .deadLetterExchange(RabbitMQConstants.DLX_EXCHANGE)            .deadLetterRoutingKey(RabbitMQConstants.DLX_ROUTING_KEY)            .build();}/** * 將隊列綁定到交換機上 * * @return */@Beanpublic Binding directBinding2() {    return BindingBuilder.            bind(directQueue2()).            to(directExchange2()).            with(RabbitMQConstants.DIRECT_BINDING_KEY2);}

過期時間

兩種設(shè)置方式OfD28資訊網(wǎng)——每日最新資訊28at.com

  • 創(chuàng)建隊列時設(shè)置,消息會被排序加入到隊列頭部,短的在前
  • 發(fā)送消息時設(shè)置,時間到期不會立刻刪除,而是在推送消息時刪除

同時設(shè)置的話,過期時間已短的為準OfD28資訊網(wǎng)——每日最新資訊28at.com

/** * 創(chuàng)建隊列時設(shè)置 * @return */@Beanpublic Queue ttlQueue() {    Map<String, Object> args = new HashMap<>();    //設(shè)置消息過期時間    args.put("x-message-ttl", 5000);    //設(shè)置死信交換機    args.put("x-dead-letter-exchange", RabbitMQConstants.DLX_EXCHANGE);    //設(shè)置死信 routing_key    args.put("x-dead-letter-routing-key", RabbitMQConstants.DLX_ROUTING_KEY);    return new Queue(RabbitMQConstants.TTL_QUEUE, true, false, false, args);}
/** * 發(fā)送消息時設(shè)置 * @return */public void sendMessage2() throws JsonProcessingException {    User user = new User();    ObjectMapper objectMapper = new ObjectMapper();    byte[] bytes = objectMapper.writeValueAsBytes(user);    // 10 s 后過期    Message message =            MessageBuilder.withBody(bytes)                    .setExpiration("10000").build();    // 交換機,路由鍵,信息    rabbitTemplate.convertAndSend(            RabbitMQConstants.DIRECT_EXCHANGE2,            RabbitMQConstants.DIRECT_ROUTING_KEY2,            message    );}

效果演示

圖片圖片OfD28資訊網(wǎng)——每日最新資訊28at.com

隊列 5 秒延遲的效果OfD28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片OfD28資訊網(wǎng)——每日最新資訊28at.com

延遲隊列

兩種方案實現(xiàn)OfD28資訊網(wǎng)——每日最新資訊28at.com

  • 利用 死信隊列+過期時間 去處理,消息過期被轉(zhuǎn)發(fā)到死信交換機,死信交換機路由到死信隊列進行處理
  • 使用插件 rabbitmq_delayed_message_exchange

插件可以在這里找到

本文鏈接:http://www.www897cc.com/showinfo-26-76494-0.htmlRabbitMQ代碼篇之過期時間,死信隊列,延遲隊列,優(yōu)先級隊列的基本使用

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 關(guān)于Java程序服務(wù)預(yù)熱那些事

下一篇: 想進阿里?先搞懂Spring Bean的循環(huán)依賴!

標簽:
  • 熱門焦點
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產(chǎn)之后
  • 摸魚心法第一章——和配置文件說拜拜

    為了能摸魚我們團隊做了容器化,但是帶來的問題是服務(wù)配置文件很麻煩,然后大家在群里進行了“親切友好”的溝通圖片圖片圖片圖片對比就對比,簡單對比下獨立配置中心和k8s作為配
  • 得物效率前端微應(yīng)用推進過程與思考

    一、背景效率工程隨著業(yè)務(wù)的發(fā)展,組織規(guī)模的擴大,越來越多的企業(yè)開始意識到協(xié)作效率對于企業(yè)團隊的重要性,甚至是決定其在某個行業(yè)競爭中突圍的關(guān)鍵,是企業(yè)長久生存的根本。得物
  • 之家push系統(tǒng)迭代之路

    前言在這個信息爆炸的互聯(lián)網(wǎng)時代,能夠及時準確獲取信息是當今社會要解決的關(guān)鍵問題之一。隨著之家用戶體量和內(nèi)容規(guī)模的不斷增大,傳統(tǒng)的靠"主動拉"獲取信息的方式已不能滿足用
  • 阿里瓴羊One推出背后,零售企業(yè)迎數(shù)字化新解

    作者:劉曠近年來隨著數(shù)字經(jīng)濟的高速發(fā)展,各式各樣的SaaS應(yīng)用服務(wù)更是層出不窮,但本質(zhì)上SaaS大多局限于單一業(yè)務(wù)流層面,對用戶核心關(guān)切的增長問題等則沒有提供更好的解法。在Saa
  • 華為Mate60標準版細節(jié)曝光:經(jīng)典星環(huán)相機模組回歸

    這段時間以來,關(guān)于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 蘋果公司要求三星和LG Display生產(chǎn)「無邊框」OLED iPhone顯示屏

    據(jù) The Elec 報道,蘋果已要求其供應(yīng)商為未來的 iPhone 型號開發(fā)「無邊框」OLED 顯示面板。蘋果顯然已要求三星和 LG Display 開發(fā)新的 OLED 顯示面
  • OPPO K11搭載長壽版100W超級閃充:26分鐘充滿100%

    據(jù)此前官方宣布,OPPO將于7月25日也就是今天下午14:30舉辦新品發(fā)布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續(xù)還將開展常態(tài)化登記。  北京科技教育體驗基
Top 主站蜘蛛池模板: 闻喜县| 宜兰市| 房山区| 闸北区| 西宁市| 光山县| 定边县| 唐海县| 沧源| 康乐县| 邵阳市| 英山县| 青海省| 邯郸市| 皋兰县| 抚远县| 万年县| 旬邑县| 永丰县| 桐梓县| 措美县| 吉木乃县| 浑源县| 句容市| 蒙自县| 萨嘎县| 天气| 甘肃省| 崇仁县| 同心县| 改则县| 弥勒县| 江孜县| 台中县| 松原市| 龙门县| 哈巴河县| 枝江市| 镇原县| 科尔| 永年县|