Kafka如何保證訊息的可靠性傳輸

2022-09-05 05:15:12 字數 372 閱讀 4217

1.消費端弄丟了資料

在 kafka 服務端設定min.insync.replicas引數:這個值必須大於 1,這個是要求乙個 leader 至少感知到有至少乙個 follower 還跟自己保持聯絡,沒掉隊,這樣才能確保 leader 掛了還有乙個 follower 吧。

在 producer 端設定acks=all:這個是要求每條資料,必須是寫入所有 replica 之後,才能認為是寫成功了。

在 producer 端設定retries=max(很大很大很大的乙個值,無限次重試的意思):這個是要求一旦寫入失敗,就無限重試,卡在這裡了。

Kafka如何保證訊息的可靠性傳輸

1.消費端弄丟了資料 唯一可能導致消費者弄丟資料的情況,就是說,你消費到了這個訊息,然後消費者那邊自動提交了 offset,讓 kafka 以為你已經消費好了這個訊息,但其實你才剛準備處理這個訊息,你還沒處理,你自己就掛了,此時這條訊息就丟咯。這不是跟 rabbitmq 差不多嗎,大家都知道 kaf...

Kafka如何保證資料可靠性

kafka的資料可靠性保證 1.副本資料同步策略 兩種副本資料同步策略 kafka選擇第二種 方案優點 缺點半數以上完成同步,就傳送ack 延遲低選舉新的leader時,容忍n臺節點的故障,需要2n 1個副本 全部完成同步,才傳送ack 選舉新的leader時,容忍n臺節點的故障,需要n 1個副本 ...

Kafka訊息可靠性

如果mq沒有類似資料庫事務結構和保證,是不可能達到訊息投遞100 可靠的,極端情況下訊息投遞要麼丟失或重複。下面咋們從producer,broker,consumer的角度分析一下kafka中會出現哪些情況。目前生產者傳送訊息 request.required.acks 有三種方式。acks 0 p...