Kafka筆記6(數據傳遞的可靠性)

Kafka保證分區消息的順序,「先入先出」安全

只有當消息被寫入分區的全部副本時,才被認爲已提交的blog

只要有一個副本是活躍的,已提交的消息就不會丟失同步

消費者只能讀取已經提交的消息it

 

若是一個或多個副本在同步/非同步之間狀態快速切換,說明集羣內出現問題,一般是JAVA不恰當的垃圾回收配置致使的io

broker安全配置參數:test

  複製係數:集羣

    主題級別複製係數 replication.factor    配置

    broker級別複製係數: default.replication.factor 垃圾回收

  不徹底的首領選舉:請求

    unclean.leader.election=true  broker級別配置   容許不一樣步的副本成爲首領,會面臨丟失消息的風險

  最少同步副本:

    min.insync.replicas (主題和broker級別)

  

發送確認:

ack=0 容易丟失消息

ack=1 也會存在丟失消息的問題

ack=all 不會丟失消息,可是會下降吞吐量

 

配置生產者重試參數:

  broker 返回 LEADER_NOT_AVAILABLE 是一個可重試錯誤

  broker返回 INVALID_CONFIG 是一個不可重試錯誤

  

消費者的可靠性配置:

  group.id 

  auto.offset.reset 指定沒有偏移量提交時或請求的偏移量在broker上不存在時,消費者會作什麼

    =earliest  消費者會從分區開始位置讀取數據

    =latest   消費者從分區末尾開始讀取數據

  enable.auto.commit  消費者基於任務調度自動提交偏移量

  auto.commit.interval.ms   與上一個參數搭配使用,自動提交偏移量的頻率

相關文章
相關標籤/搜索