国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Kafka的春天-重試機制

開發 架構
最近業務上用到了Spring Kafka,所以系統性的探索了下Spring Kafka的各種用法,發現了很多實用的特性,下面介紹下Spring Kafka的消息重試機制。

哈嘍,大家好,我是指北君。

最近業務上用到了Spring Kafka,所以系統性的探索了下Spring Kafka的各種用法,發現了很多實用的特性,下面介紹下Spring Kafka的消息重試機制。

0. 前言

原生 Kafka 是不支持消息重試的。但是 Spring Kafka 2.7+ 封裝了 Retry Topic 這個功能。

1. @RetryableTopic

使用注解的方式啟用 Retry Topic,在 @KafkaListener 方法上添加 @RetryableTopic 即可:

@Slf4j
@Component
public class DemoConsumer {
@RetryableTopic
@KafkaListener(topics = "topic1", groupId = "group1")
public void onMsg(ConsumerRecord<String, String> record){
log.info("topic: {}", record.topic());
throw new RuntimeException("kafka exception");
}

}

這樣就開啟了 Spring Kafka 的消息重試機制:默認重試 3 次,間隔為 1 秒。

我們在方法里模擬了拋出異常,運行后可以發現打印了 3 條日志,間隔時間大約為 1 秒,重試的topic為原topic加上后綴“-retry”

2022-11-12 12:14:10.230  INFO 1023 --- [ner#3-dlt-0-C-1] c.b.b.demo.retrytopic.KafkaListener: topic: topic1
2022-11-12 12:14:11.315 INFO 1023 --- [ner#3-dlt-0-C-1] c.b.b.demo.retrytopic.KafkaListener: topic: topic1-retry-0
2022-11-12 12:14:12.310 INFO 1023 --- [ner#3-dlt-0-C-1] c.b.b.demo.retrytopic.KafkaListener: topic: topic1-retry-1

2. DLT死信隊列

如果 3 次重試后依舊失敗,會將消息發送到 DLT,

默認情況,消息被發送到死信隊列后,會輸出一條日志。

2022-11-12 12:14:13.324  INFO 1023 --- [ner#3-dlt-0-C-1] o.s.k.retrytopic.RetryTopicConfigurer    : Received message in dlt listener: topic1-dlt@233

DLT的topic為原topic加上后綴“-dlt”

我們可以使用@DltHandler注解來定義進入死信隊列后的操作:

@DltHandler
public void dltHandler(ConsumerRecord<String, String> record){
log.info("topic:{}, key:{}, value:{}", record.topic(), record.key(), record.value());
}

3. 自定義@RetryableTopic

可以自定義重試次數、延遲時間、topic命名策略等等,支持使用 Spring EL 表達式讀取配置。

@Slf4j
@Component
public class DemoConsumer {
@RetryableTopic(
attempts = "4",
backoff = @Backoff(delay = "5000", multiplier = "2"),
fixedDelayTopicStrategy = FixedDelayStrategy.SINGLE_TOPIC
)
@KafkaListener(topics = "topic2", groupId = "group1")
public void onMsg2(ConsumerRecord<String, String> record){
log.info("topic: {}", record.topic());
throw new RuntimeException("kafka exception");
}

}

注解屬性說明:

attempts:重試次數,默認為3。

@Backoff delay:消費延遲時間,單位為毫秒。

@Backoff multiplier:延遲時間系數,此例中 attempts = 4, delay = 5000, multiplier = 2 ,則間隔時間依次為5s、10s、20s、40s,最大延遲時間受 maxDelay 限制。

fixedDelayTopicStrategy:可選策略包括:SINGLE_TOPIC 、MULTIPLE_TOPICS

4. 配置類

以上介紹的是注解的方式,只對注解下的方法有效。如果想讓多個方法都用相同的消息重試配置,那么可以使用配置類方式:

@Bean
public RetryTopicConfiguration retryTopic(KafkaTemplate<String, String> template){
return RetryTopicConfigurationBuilder
.newInstance()
.maxAttempts(4)
.fixedBackOff(5000)
.includeTopic("topic1")
.create(template);
}

小結

以上就是Spring Kafka消息重試機制的簡單應用~希望能夠幫助那些正在使用Spring Kafka或即將使用的人少走一些彎路、少踩一點坑。

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2025-01-03 08:44:37

kafka消息發送策略

2024-09-25 08:32:05

2021-02-20 10:02:22

Spring重試機制Java

2025-02-26 10:49:14

2020-07-19 15:39:37

Python開發工具

2022-05-06 07:44:10

微服務系統設計重試機制

2023-10-27 08:20:12

springboot微服務

2017-06-16 15:16:15

2017-07-02 16:50:21

2025-12-03 00:57:00

2023-11-27 07:44:59

RabbitMQ機制

2023-11-06 08:00:38

接口高可用機制

2025-09-30 01:55:00

SpringWebClientHTTP

2025-05-28 01:15:00

Golang重試機制

2025-04-18 03:00:00

2025-09-01 07:40:59

2024-01-04 18:01:55

高并發SpringBoot

2024-09-30 08:30:37

2025-02-27 09:35:22

2025-02-26 08:10:40

點贊
收藏

51CTO技術棧公眾號

久久这里精品国产99丫e6| 国产日韩电影| 97超碰人人在线| 久久中文欧美| 欧美在线不卡区| 国产成人精品999| 亚洲卡一卡二| 亚洲久草在线视频| 欧美激情精品久久久久久大尺度| 无圣光视频在线观看| 中文字幕不卡一区| av污在线观看| 亚洲丝袜精品丝袜在线| 成人黄色影视| 午夜久久久影院| av色图一区| 欧美videofree性高清杂交| a在线免费观看| 精品国产123| 日韩美女在线| 奇米一区二区三区四区久久| 色男人天堂综合再现| 成人国产一区二区| 日韩vs国产vs欧美| 欧美精品一区免费| 一区二区视频在线看| 黄色国产在线| 日韩成人在线视频网站| 日本免费一区二区三区四区| 久久久亚洲影院你懂的| 国产精品1区2区3区在线观看| 一区二区不卡视频| 亚洲精品国产第一综合99久久| 麻豆影视国产在线观看| 亚洲精品720p| 欧美国产极品| 成人av免费看| 99精品视频免费在线观看| 在线视频中文字幕| 亚洲欧美精品在线| 亚洲综合专区| eeuss在线播放| 亚洲成在人线av| 欧美激情偷拍| 亚洲色图38p| 亚洲成avwww人| 国产aaa一级片| 7777精品伊人久久久大香线蕉最新版| 欧美电影在线观看网站| 天天人人精品| 欧美日韩在线观看一区二区 | 国产亚洲欧洲997久久综合| av在线三区| 伊人青青综合网站| 欧美色网址大全| 天天干天天色天天爽| 亚洲国产精品久久艾草纯爱| 成功精品影院| 久久国产精品久久精品国产| 成人动漫中文字幕| 中文字幕免费在线| 视频一区视频二区国产精品| 久久精品国产99久久| 日韩精品一区二区免费| 亚洲一区二区综合| 国产不卡人人| 国产亚洲欧美色| 欧美日韩一区二区在线视频| 91久久国产综合久久91猫猫| 精品国产91亚洲一区二区三区www| 欧美巨大xxxx做受沙滩| 国产精品久久久久久久久久| 久久亚洲综合色一区二区三区| 成人激情综合| 欧美日韩黄色一级片| 中文字幕av一区二区三区谷原希美 | 不卡一区二区中文字幕| 日韩黄色三级在线观看| 日韩有码视频在线| 日本成人一区二区| 视频一区二区三区入口| 97热在线精品视频在线观看| 天天躁日日躁狠狠躁欧美巨大小说| 亚洲丝袜在线视频| 国产一区一区| 久久久精品有限公司| 亚洲激情网站免费观看| 欧洲亚洲在线| 在线亚洲男人天堂| 久久久久美女| 女人床在线观看| 色综合天天综合网天天狠天天| 99久久婷婷国产综合精品首页| 成人午夜两性视频| 成人av中文字幕| 乱人伦中文视频在线| 久久最新资源网| 日本成人在线不卡视频| 加勒比一区二区三区在线| 2019国产精品视频| 欧美性生交大片免费| 国产一区二区三区天码| 福利在线观看| 国内外成人激情免费视频| 亚洲人成毛片在线播放| 国产成人aa在线观看网站站| 精品久久久久av| 午夜精品美女自拍福到在线| 在线视频国产区| 亚洲高清资源综合久久精品| 亚洲欧洲成视频免费观看| 激情av综合网| 欧美综合影院| 国语对白在线视频| 久久99国产精品| 我爱我色成人网| 久久66热这里只有精品| av中文字幕亚洲| 国产精品一区二区中文字幕| 国产三级三级三级看三级| 欧美精品在线免费| 欧洲另类一二三四区| 久久激情综合| 亚洲欧洲二区| 国产h视频在线观看| 国产日韩欧美在线观看| 日韩欧美一区二区免费| 超碰精品在线观看| 日韩av播放器| 精品成人一区二区| www成人免费观看| 91精品久久久久久久久不口人| 99久久夜色精品国产网站| 国产日韩一区二区在线| 亚洲欧美激情另类校园| 亚洲欧美日本国产专区一区| 国产一区二区不卡在线| 日韩一级片播放| 国产精品18久久久久久麻辣| 欧美一区二区三区播放老司机| 亚洲国产精品传媒在线观看| 中国女人久久久| 69堂精品视频在线播放| 男男电影完整版在线观看| 热久久精品免费视频| 国产在线观看精品一区二区三区| 亚洲视频一区在线| 天天干天天玩天天操| 国产精品日韩久久久久| 欧美激情按摩在线| 正在播放亚洲1区| 国产偷亚洲偷欧美偷精品| 精品福利在线视频| heyzo欧美激情| 91麻豆精品激情在线观看最新 | 日韩一区二区三区色| 国产免费黄色av| 日本中文字幕在线视频观看| 69精品丰满人妻无码视频a片| 国产精品直播网红| 国产精品久久久久久久久借妻| 欧美丰满片xxx777| 久久精彩免费视频| 日韩一二三在线视频播| 欧美一区视频在线| 日韩精品免费视频| 亚洲小视频在线| 精品国产一区久久久| 中文字幕亚洲欧美日韩在线不卡 | 国产91视觉| 亚洲不卡中文字幕| 亚洲最新在线| 国产精品日韩二区| 久久精品第九区免费观看| 97精品久久久| 91精品久久久久久久久| av成人综合网| 免费在线观看91| 成年人在线观看视频免费| 三级理论午夜在线观看| 午夜探花在线观看| 日本福利视频在线观看| 69久久久久久| 自拍偷拍21p| 四虎影院在线播放| 亚洲视频tv| 日本电影久久久| 性欧美video另类hd尤物| 日韩精品a在线观看91| 日韩成人精品| 在线成人h网| 香蕉久久a毛片| 久久九九全国免费| 欧美私人免费视频| 欧美日本在线视频中文字字幕| 久久久久久久久久久一区| 最近2018中文字幕免费在线视频| 少妇在线看www| 日本中文在线一区| 色婷婷久久久亚洲一区二区三区|