重试消息的处理机制
一般情況下我們在實際生產中是不需要重試16次,這樣既浪費時間又浪費性能,理論上當嘗試重復次數達到我們想要的結果時如果還是消費失敗,那么我們需要將對應的消息進行記錄,并且結束重復嘗試
consumer.registerMessageListener((MessageListenerConcurrently) (list,? consumeOrderlyContext) -> {?for (MessageExt messageExt : list) {?if(messageExt.getReconsumeTimes()==3) {?//可以將對應的數據保存到數據庫,以便人工干預?System.out.println(messageExt.getMsgId()+","+messageExt.getBody());?return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;?}?}?return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;? });?
總結
- 上一篇: 消息的衰减重试
- 下一篇: 分布式架构中分布式事务