欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

RabbitMQ消費失敗重試策略、及重試策略應(yīng)用場景詳解-創(chuàng)新互聯(lián)

前言:
RabbitMQ消費者一般情況下,如果消費失敗出現(xiàn)異常,那么消費端默認(rèn)是無限重試消費,這樣就會帶來非常不好的一個情況,就是陷入死循環(huán),一直報錯一直重試。所以我們需要對消費異常重試次數(shù)、重試間隔時間進行限制

專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)振安免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

一、限制消費異常重試次數(shù)、重試間隔時間

1、配置限制策略,如下:

rabbitmq:
    host: xxx
    port: 5672
    username: guest
    password: guest
    virtual-host: /
    listener:
      simple:
        default-requeue-rejected: false
        acknowledge-mode: manual  # 確認(rèn)模式為手動確認(rèn)-需要在代碼中手動ACK
        retry:
          enabled: true           # 開啟消費者出現(xiàn)異常情況下,進行重試消費,默認(rèn)false
          max-attempts: 5         # 大重試次數(shù),默認(rèn)為3
          initial-interval: 3000  # 重試間隔時間,默認(rèn)1000(單位毫秒)

其中 retry?節(jié)點及以下的屬性就是重試策略

2、驗證重試策略是否生效
這里使用一張 user?信息表作演示

【1】演示代碼

@RabbitListener(queues = {MqConstants.DIRECT_QUEUE_1})
    public void listenerDirectQueue1(Message message, Channel channel) throws IOException {
        long deliveryTag = message.getMessageProperties().getDeliveryTag();

        //驗證消費失敗(出現(xiàn)異常)重試策略 start
        String msgBody = new String(message.getBody());
        System.out.println("消費者接收到消息:【" + msgBody + "】");
        int i = 1 / 0;
        channel.basicAck(deliveryTag, false);
        //驗證消費失敗(出現(xiàn)異常)重試策略 end
    }

模擬了一個除數(shù)為0的異常

【2】演示結(jié)果

從控制臺輸出可以看出,異常后嘗試了5次后仍然失敗,就放棄重試,符合預(yù)期結(jié)果

二、消息消費異常重試策略應(yīng)用場景,并不是所有消息異常后都需要重試

1、說明:
【1】比如我們調(diào)用第三方接口、或者調(diào)用別的服務(wù)的接口,那么這時候出現(xiàn)異常要不要重試?當(dāng)然要重試,因為調(diào)用接口異??赡苁蔷W(wǎng)絡(luò)波動導(dǎo)致,并不是業(yè)務(wù)代碼異常,所以重試后可能就可以正常調(diào)用
【2】比如我們在消費過程中,業(yè)務(wù)代碼出現(xiàn)異常(空指針、除數(shù)為0等)這類代碼不健壯導(dǎo)致的異常,那么這時候需要重試嗎?當(dāng)然不需要重試,因為業(yè)務(wù)代碼異常就算重試再多次也依然會異常,代碼異常需要發(fā)版修復(fù)解決,所以重試沒有意義。這種情況我們可以把代碼塊 try?catch?一下:

@RabbitListener(queues = {MqConstants.DIRECT_QUEUE_1})
    public void listenerDirectQueue1(Message message, Channel channel) throws IOException {
        long deliveryTag = message.getMessageProperties().getDeliveryTag();
        String msgBody = new String(message.getBody());

        //驗證消費失敗(出現(xiàn)異常)重試策略 start
        try {
            System.out.println("消費者接收到消息:【" + msgBody + "】");
            int i = 1 / 0;
            channel.basicAck(deliveryTag, false);
        } catch (Exception e) {
            log.info("異常消息:" + msgBody);
            //此時可以把異常消息寫入表中,以供人工或定時任務(wù)做重試補償
            channel.basicAck(deliveryTag, false);
        }
        //驗證消費失敗(出現(xiàn)異常)重試策略 end
    }

可以看見異常被捕捉了,所以沒有觸發(fā)重試策略

小結(jié):
在 catch?塊中不要拋出異常就不會觸發(fā)重試策略,在 catch?塊中我們把該條消息記錄到日志數(shù)據(jù)表或者其他特定的表,以供過后人工或定時任務(wù)單獨處理異常消息補償即可

2、應(yīng)用場景總結(jié):
【1】類似調(diào)用第三方接口這種場景出現(xiàn)異常,需要重試
【2】業(yè)務(wù)代碼出現(xiàn)異常(空指針、除數(shù)為0等)這類代碼不健壯導(dǎo)致的異常,不需要重試,沒有意義
【3】異常不需要觸發(fā)重試策略的消息,需要把該條消息記錄到日志數(shù)據(jù)表或者其他特定的表,以供過后人工或定時任務(wù)單獨處理異常消息補償

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:RabbitMQ消費失敗重試策略、及重試策略應(yīng)用場景詳解-創(chuàng)新互聯(lián)
文章分享:http://aaarwkj.com/article0/dihjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站網(wǎng)站策劃、服務(wù)器托管、建站公司

廣告

聲明:本網(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)

成都網(wǎng)站建設(shè)公司
欧美日韩国产精品高清| 亚洲av少妇高潮流白浆在线| 18禁黄久久久一区二区三区| 公侵犯人妻中文字幕一区| 亚洲成人精品免费观看| 免费啪啪视频一区二区| 国产精品福利午夜在线观看| 日本欧美国产污黄在线观看| 日韩在线不卡一二三| 精品视频美女肉体亚洲| 欧美口爆吞精在线播放| 在线中文字幕日韩有码| 麻豆人妻少妇精品系列| 欧美黄片完整版在线观看| 亚洲激情人妻小说网| 九九六热这里只有精品| 国产精品久久久久精品综合| 欧美另类精品一区二区| 国产一区二区乱码在线| 国产在线视频不卡一线路| 色呦呦中文字幕在线播放| 国产三级国产精品三级| 国产亚洲精品久在线| 97精品国产高清在线| av在线免费观看大全| 91久久国产香蕉熟女| 色播婷婷午夜激情福利| 亚洲一区精品中文字幕| 亚洲香蕉av一区二区蜜桃| 蜜桃av网站免费观看| 国产精品人妻在线av| 精品一区精品二区国产日韩| 欧美人妻不卡一区二区久久 | 国产精品一区二区三区四区久久 | 丰满人妻侵犯中文字幕| 丰满少妇诱惑在线观看| 大香蕉一区二区亚洲欧美| 日本高清区一区二区三区四区五区| 日本欧美精品一区二区三区| 亚洲精品美女久久久久高潮| 日韩中文免费av一区|