AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

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

Spring實現Kafka重試Topic,真的太香了

來源: 責編: 時間:2024-01-26 09:02:59 242觀看
導讀概述Kafka的強大功能之一是每個分區都有一個Consumer的偏移值。該偏移值是消費者將讀取的下一條消息的值。可以自動或手動增加該值。如果我們由于錯誤而無法處理消息并想重試,我們可以選擇手動管理,并在成功的情況下增

概述

Kafka的強大功能之一是每個分區都有一個Consumer的偏移值。該偏移值是消費者將讀取的下一條消息的值。可以自動或手動增加該值。如果我們由于錯誤而無法處理消息并想重試,我們可以選擇手動管理,并在成功的情況下增加偏移量。但是,這會暫時阻止隊列消息的處理。我們可以選擇異步方法。hJN28資訊網——每日最新資訊28at.com

為什么我們需要它?

如果發生錯誤,而不是停止隊列消息的處理;我們可以將錯誤消息轉移到不同的主題并再次處理。hJN28資訊網——每日最新資訊28at.com

如果在處理 Kafka 消息時出現錯誤,可以使用 RetryableTopic 注解以一定的時間間隔和一定的次數再次處理消息。如果完成嘗試次數后錯誤仍然存在,則消息將發送到 DLT 隊列。hJN28資訊網——每日最新資訊28at.com

如何使用?

我們首先回顧一下RetryableTopic注解可以取的一些值,以便您可以做出最適合您的設置:hJN28資訊網——每日最新資訊28at.com

attempts:嘗試處理消息的次數。它的默認值為 3。如果完成所有嘗試后仍然收到錯誤,則消息將發送到 DLT 隊列。hJN28資訊網——每日最新資訊28at.com

backoff:用于確定處理消息的時間間隔。從 Backoff 類獲取一個值。您可以在下面找到退避的詳細示例。hJN28資訊網——每日最新資訊28at.com

排除/排除名稱:允許您排除指定的異常類。當您添加到列表中的任何錯誤被拋出時,重試機制將不會被激活。hJN28資訊網——每日最新資訊28at.com

include / includeNames:僅當拋出指定的異常時才會激活重試機制。hJN28資訊網——每日最新資訊28at.com

kafkaTemplate:雖然您可以給出現有 kafkaTemplate bean 的名稱,但您也可以為特定于重試的 Kafka 模板定義不同的 bean。hJN28資訊網——每日最新資訊28at.com

autoCreateTopics:決定是否自動創建Retry和DLT主題。hJN28資訊網——每日最新資訊28at.com

retryTopicSuffix / dltTopicSuffix:用于確定要添加到自動創建的主題末尾的后綴。hJN28資訊網——每日最新資訊28at.com

dltStrategy:如果不需要DLT,可以定義為NO_DLT。hJN28資訊網——每日最新資訊28at.com

SameIntervalTopicReuseStrategy/fixedDelayTopicStrategy(3.0.4之前):用于確定要創建的重試主題策略。創建 (SINGLE_TOPIC) 或盡可能多的嘗試值 (MULTIPLE_TOPICS) 重試主題。hJN28資訊網——每日最新資訊28at.com

Backoff的示例:

  • 具有固定的增量值
Backoff(delay = 600000 ) // 每 10 分鐘
  • 具有指數價值
Backoff(delay = 60000 , multiplier = 2 ) // 1、2、4、8... 分鐘后重復。
  • 用占位符定義值
Backoff(delayExpression = "${delay}", multiplierExpression = "${multiplier}")

@RetryableTopic 示例:

@RetryableTopic(     backoff = @Backoff(delay = 300000),     attempts = 12,     sameIntervalTopicReuseStrategy =          SameIntervalTopicReuseStrategy.SINGLE_TOPIC,     kafkaTemplate = "kafkaRetryableTopicTemplate",     exclude = { SerializationException.class,                  DeserializationException.class,                  NullPointerException.class                } ) @KafkaListener(topics = "my-topic") public void processMessage(RetryableDto retryableDto) {     log.info("Retrying process RetryableDto : {}", retryableDto);     // process message }

在上面的例子中,消息將每5分鐘重新處理一次,總共12次,即1小時。如果任何嘗試均順利完成,則試用將終止。hJN28資訊網——每日最新資訊28at.com

由于定義了 SINGLE_TOPIC,因此將創建單個主題以進行重試。如果沒有進行此定義,則會創建 12 個重試主題。hJN28資訊網——每日最新資訊28at.com

如果拋出了排除中定義的任何錯誤,則不會執行重做。hJN28資訊網——每日最新資訊28at.com

如果需要,您可以編寫自己的 RetryableException 并在包含中定義此值,以便僅在引發此錯誤時才重試。hJN28資訊網——每日最新資訊28at.com

DLT隊列處理

如果完成了定義的嘗試次數并且繼續收到錯誤,則消息將發送到 DLT 隊列。如果要處理這些消息,可以使用DltHandler注解。hJN28資訊網——每日最新資訊28at.com

用法示例:hJN28資訊網——每日最新資訊28at.com

@DltHandler  public  void  handleDltMessage (RetryableDto retryableDto) {      log.error("DLT處理程序消息:{}", retryableDto); }

注意事項

雖然使用 RetryableTopic 的異步處理優勢為我們帶來了性能提升,但這種使用也有一些缺點。hJN28資訊網——每日最新資訊28at.com

使用RetryableTopic可能會破壞消息的處理順序。hJN28資訊網——每日最新資訊28at.com

讓我們用一個例子來解釋這種情況:當主主題在時間 t 處理時,一條消息出錯并被發送到重試主題。在時間 t + 1 時,另一條消息來到主主題并成功處理。讓我們在重試主題中的消息在時間 t + 2 時被成功處理。在這種情況下,第一條傳入消息將在第二條消息之后處理。如果訂購對您很重要,我建議您在消息處理過程中進行必要的檢查。hJN28資訊網——每日最新資訊28at.com

另一個缺點是消息雙重處理的風險。您可以通過考慮這種可能性來進行改進。hJN28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-68327-0.htmlSpring實現Kafka重試Topic,真的太香了

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

上一篇: 如何使用Python、Apache Kafka和云平臺構建健壯的實時數據管道

下一篇: 性能篇:解密Stream,提升集合遍歷效率的秘訣!

標簽:
  • 熱門焦點
  • 一加Ace2 Pro官宣:普及16G內存 引領24G

    一加官方今天繼續為本月發布的新機一加Ace2 Pro帶來預熱,公布了內存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領,還有呢?#一加Ace2Pro#,2023 年 8 月,敬請期待。”同時
  • 小米官宣:2023年上半年出貨量中國第一!

    今日早間,小米電視官方微博帶來消息,稱2023年小米電視上半年出貨量達到了中國第一,同時還表示小米電視的巨屏風暴即將開始。“公布一個好消息2023年#小米電視上半年出貨量中國
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 一加首款折疊屏!一加Open渲染圖出爐:罕見單手可握小尺寸

    8月5日消息,此前就有爆料稱,一加首款折疊屏手機將會在第三季度上市,如今隨著時間臨近,新機的各種消息也開始浮出水面。據悉,這款新機將會被命名為“On
  • SpringBoot中使用Cache提升接口性能詳解

    環境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對 Spring 應用程序提供了透明式添加緩存的支持。和事務支持一樣,抽象緩存允許一致地使用各
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁“充值中心”入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 網紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業評論6月26日高調宣布入市,網絡名嘴大v胡錫進居然進軍了股市。在一次財經媒體峰會上,幾個財經圈媒體大佬就“胡錫進炒股是否知道認真報道”展開討論。有
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • iQOO 11S屏幕細節公布:首發三星2K E6全感屏 安卓最好的直屏手機

    日前iQOO手機官方宣布,新一代電競旗艦iQOO 11S將會在7月4日19:00正式與大家見面。隨著發布時間的日益臨近,官方關于該機的預熱也更加密集,截至目前已
Top