kafka可靠的數據傳遞--


理論上無論什麼組件都會有數據丟失和重複;我們只能從 源頭和出口來解決數據的質量。

基本保證

在這裏插入圖片描述

broker可靠性

  • 副本系數:replication.factor = 3
    • ⼀般設爲3,爲了更高的安全性,可以設爲5,同時考慮副本的分佈
  • 不完全的選舉:unclean.leader.election.enable = true/false
    • 允許不同步的副本成爲首領:可用性和一致性之間權衡
  • 最少同步副本:min.insync.replicas = 2
    • 同步副本小於min.insync.replicas,會阻止生產者繼續寫入消息 NotEnoughReplicasException

生產者可靠性

  • 發送確認:acks = 0/1/all
    • 0 代表生產者能夠通過網絡把消息發送出去
    • 1 代表首領副本已經收到消息並把它寫入到分區文件
    • ALL 代表所有副本都收到消息
  • 失敗重試:retries = 3
    • 可用於解決可重試的錯誤:如LEADER_NOT_AVAILABLE、網絡異常等
  • 額外的異常處理:無法通過自動重試解決的問題
    • 可用於解決不可重試的錯誤:如消息大小錯誤、認證錯誤、序列化錯誤,或者重試達到上限

消費者可靠性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章