Kafka延遲隊列實現分級重試

技術方案

方案背景

Kafka隊列消息消費處理過程中,發生處理異常,需要實現重試機制,并基于重試次數實現不同延遲時間重試方案。

方案介紹

通過實現Kafka延遲隊列來實現消息重試機制。

目標:

  1. 支持所有業務場景的延遲重試
  2. 支持多級別延遲重試
  3. 保證消息 最少消費一次

核心內容:

  1. 延遲隊列,Kafka本身不支持延遲隊列機制,這里我們通過定義多種Topic來擴展實現。例如Topic-1、Topic-2、Topic-3 分別代表延遲1分鐘、2分鐘、3分鐘的隊列。
    a. 每種延遲級別獨立一個Topic
    b. 分區數建議與延遲調度服務部署量一致,以便于調度服務簡化處理。建議值 2

  2. 延遲隊列消費調度服務,負責從延遲隊列拉取消息。
    a. 判斷消息是否達到延遲時間,
    i. 若未達到,則delay 延遲時間-當前時間;
    ii. 若已達到,則將消息轉發至對應的業務消息隊列。
    b. 集群部署數量 建議值 2,消費部署數與分區數一致,以保證數據消費順序及處理及時性
    c. 若重試次數已達到最大值,則丟失數據,并發送異常警報(釘釘)
    d. 考慮延遲隊列修改offset,重新處理消息機制

  3. 業務消費服務改造,
    a. 數據處理異常時,組裝延遲重試消息,將異常數據推送至延遲隊列消息。
    b. 鑒于當前業務消費 BulkCopy 批量處理邏輯

技術架構

架構圖
Topic-1、Topic-2、Topic-3 分別代表延遲1分鐘、2分鐘、3分鐘的隊列
在這里插入圖片描述

核心流程

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76330.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76330.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76330.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Maven核心配置文件深度解析:pom.xml完全指南

🧑 博主簡介:CSDN博客專家、全棧領域優質創作者、高級開發工程師、高級信息系統項目管理師、系統架構師,數學與應用數學專業,10年以上多種混合語言開發經驗,從事DICOM醫學影像開發領域多年,熟悉DICOM協議及…

MSTP多域生成樹

協議信息 MSTP 兼容 STP 和 RSTP,既可以快速收斂,又提供了數據轉發的多個冗余路徑,在數據轉發過程中實現 VLAN 數據的負載均衡。 MSTP 可以將一個或多個 VLAN 映射到一個 Instance(實例)(一個或多個 VLAN…

MQTT 服務器(emqx)搭建及使用(一)

一. EMQX 服務器搭建 1.下載EMQX 下載鏈接:Windows | EMQX 文檔 官方手冊 2.下載內容解壓至盤符根目錄 3.進入bin文件夾,在地址欄輸入cmd 4.依次輸入下面命令安裝服務 .\emqx.cmd install .\emqx.cmd console 5.設置自啟動 創建批處理文件&#x…

在Thinkphp中使用JWT 包括JWT是什么,JWT的優勢

首先了解一下什么是JWT JWT 是一種開放標準(RFC 7519),用于在各方之間以 JSON 對象形式安全傳輸信息4。其核心特點包括: 結構:由三部分組成(Header、Payload、Signature),通過點號…

hackmyvn-casino

arp-scan -l nmap -sS -v 192.168.255.205 目錄掃描 dirsearch -u http://192.168.255.205/ -e * gobuster dir -u http://192.168.255.205 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -b 301,401,403,404 80端口 隨便注冊一個賬號 玩游戲時的…

圖表配置表增加分析指標字段

在設計報表圖表配置表時,為存儲 同比、環比 這類分析指標,建議通過以下方式定義字段結構和命名: 一、字段設計方案 // 配置表示例結構 interface ChartConfig {id: string; // 唯一標識name: string; // 圖表…

廣州SMT貼片加工廠精密制造工藝解析

內容概要 在電子制造領域,SMT貼片加工技術已成為現代電子產品精密組裝的核心環節。廣州作為華南地區電子產業的重要樞紐,其SMT貼片加工廠通過融合自動化設備與嚴格工藝標準,構建起高效可靠的制造體系。 對于電子產品制造商而言,…

RK3568-適配ov5647攝像頭

硬件原理圖 CAM_GPIO是攝像頭電源控制引腳,連接芯片GPIO4_C2 CAM_LEDON是攝像頭led燈控制引腳,連接芯片GPIO4_C3編寫設備樹 / {ext_cam_clk: external-camera-clock {compatible = "fixed-clock";clock-frequency = <25000000>;clock-output-names = "…

關于 @Autowired 和 @Value 使用 private 字段的警告問題分析與解決方案

問題背景 在使用 Spring 框架進行開發時&#xff0c;我們經常會使用 Autowired 和 Value 注解來進行依賴注入和屬性值注入。然而&#xff0c;當我們將這些注解應用于 private 字段時&#xff0c;IDE&#xff08;如 IntelliJ IDEA&#xff09;可能會顯示警告信息&#xff0c;提…

Flutter 開發環境配置--宇宙級教學!

目錄 一、安裝環境&#xff08;Windows&#xff09;二、Android 創建Flutter項目三、VSCode 搭建環境四、補充 一、安裝環境&#xff08;Windows&#xff09; Flutter SDK 下載 推薦使用中國鏡像站點下載 Flutter SDK&#xff0c;速度更快&#xff1a;中國環境 或者從官網下載…

碰一碰發視頻網頁版本開發的源碼搭建指南

引言 在數字化信息快速傳播的時代&#xff0c;近場通信&#xff08;NFC&#xff09;技術為信息交互帶來了新的便捷方式。通過網頁版本實現碰一碰發視頻功能&#xff0c;能夠讓用戶在瀏覽器環境中輕松實現視頻分享&#xff0c;拓展了視頻傳播的途徑。本文將詳細介紹碰一碰發視頻…

OMNIWeb 數據介紹

網址&#xff1a;SPDF - OMNIWeb Service 注&#xff1a;OMNI并非特定縮寫&#xff0c;僅表示"多樣化"含義。 About the Data All the data to which this interface and its multiple underlying interfaces provide access have in common that they are relevan…

Python學習(二)操作列表

一、列表的遍歷 每個縮進的代碼行都是循環的一部分&#xff0c;且將針對列表中的每個值都執行一次。因此&#xff0c;可對列表中的每個值執行任意次數的操作。 magicians [alice, david, carolina] for magician in magicians:print(magician)注意&#xff1a; 1、遍歷的時…

淺析RAG技術:大語言模型的知識增強之道

淺析RAG技術&#xff1a;大語言模型的知識增強之道 &#x1f3e0; 引言&#xff1a;當生成遇到檢索 在人工智能領域&#xff0c;大型語言模型(LLMs)如GPT-4、Llama3等展現出了驚人的文本生成能力&#xff0c;但它們也面臨著知識滯后、事實性錯誤等挑戰。Retrieval-Augmented …

Linux Vim 編輯器的使用

Vim 編輯器的使用 一、安裝及介紹二、基礎操作三、高級功能四、配置與插件 一、安裝及介紹 Vim是一款強大且高度可定制的文本編輯器&#xff0c;相當于 Windows 中的記事本。具備命令、插入、底行等多種模式。它可通過簡單的鍵盤命令實現高效的文本編輯、查找替換、分屏操作等…

Windows 圖形顯示驅動開發-WDDM 2.4功能-基于 IOMMU 的 GPU 隔離(三)

幀緩沖區保留 對于必須在電源轉換期間將幀緩沖區的保留部分保存到系統內存的驅動程序&#xff0c;Dxgkrnl 會在適配器初始化時對所需內存進行用量認可。 如果驅動程序報告 IOMMU 隔離支持&#xff0c;則 Dxgkrnl 將在查詢物理適配器上限后立即調用 DXGKDDI_QUERYADAPTERINFO&a…

UML之擴展用例

UML用例建模面向業務實現或者系統功能&#xff0c;每一個用例實現一個完整的業務或者功能。而一個完整的用例也可能有一些不是必需的附加功能&#xff0c;或者在該用例已經實現后需要添加一些新功能&#xff0c;此時可以通過UML提供的擴展用例機制描述類似這樣的場景。 例如對…

大數據學習(95)-謂詞下推

&#x1f34b;&#x1f34b;大數據學習&#x1f34b;&#x1f34b; &#x1f525;系列專欄&#xff1a; &#x1f451;哲學語錄: 用力所能及&#xff0c;改變世界。 &#x1f496;如果覺得博主的文章還不錯的話&#xff0c;請點贊&#x1f44d;收藏??留言&#x1f4dd;支持一…

行式存儲(Row-based Storage)與列式存儲(Column-based Storage)詳細對比

行式存儲&#xff08;Row-based Storage&#xff09;與列式存儲&#xff08;Column-based Storage&#xff09;詳細對比 1. 數據組織方式 類型行式存儲列式存儲存儲結構按行存儲數據&#xff0c;每條記錄的所有字段&#xff08;列&#xff09;連續存放&#xff08;如一條訂單的…

Seg-Zero:通過認知強化實現的推理鏈引導分割

文章目錄 速覽摘要1. 引言2. 相關工作2.1. 大模型中的推理能力2.2. 結合推理的語義分割2.3. 用于分割任務的 MLLMs 3. 方法3.1. 流程建模&#xff08;Pipeline Formulation&#xff09;3.2. Seg-Zero 模型3.3. 獎勵函數&#xff08;Reward Functions&#xff09;3.4. 訓練&…