1. 程式人生 > >kafka 消費?

kafka 消費?

kafka .com 分享圖片 消息 圖片 出現 事件 連接超時 監聽

  • 前置資料 kafka
  • kafka消費中的問題及解決方法:
    • 情況1:
      • 問題:腳本讀取kafka 數據,寫入到數據庫,有時候出現MySQL server has gone away,導致腳本死掉。再次啟動,這過程中的kafka數據丟失。
      • 原因:MySQL server has gone away 出現可能是連接超時,可能超過每秒請求上限…這些異常是小概率事件,難以避免。git kafka 的demo腳本是實時監聽的腳本, 簡單明了,沒有再去針對kafka偏移量研究;但是一旦斷掉, 過程中的kafka數據即丟失。
      • 解決思路MySQL server has gone away無法避免,try catch 即可,異常消息存入日誌中。通過數據補償腳本把日誌中的數據存入數據庫,做到正常 異常的數據最終都能錄入數據庫。且腳本也不會異常死掉。腳本其他原因死掉(如服務器宕機),通過集群控制風險。
    • 情況2:
      • 問題:kafka消費時做數據檢驗,數據處理。代碼看的很混亂, 且一旦業務調整或者有bug意味著要停止消費後重啟。風險高,維護困難。
      • 解決思路:解藕。kafka消費腳本只負責把數據寫入數據庫,標識初始狀態。業務處理腳本集中處理數據。

  • kafka 消費時序圖

技術分享圖片

kafka 消費?