簡體   English   中英

在融合的 kafka go 中讀取來自 kafka 主題的消息時如何使用確認?

[英]How to use acknowledgement when reading messages from kafka topic in confluent kafka go?

我正在開發一個向客戶端發送許多消息的推送通知。 消息發布到主題中,訂閱者從同一主題讀取消息。 如果在從主題偏移量讀取消息后立即發生錯誤,即使我無法發送消息,我的訂閱者也需要讀取下一條消息並發送它。 我所說的錯誤是指服務器關閉或出現嚴重問題。

如何閱讀帶有確認的消息?

我不確定我不明白你的意思

如果在從主題偏移量讀取消息后立即發生錯誤,即使我無法發送消息,我的訂閱者也需要讀取下一條消息並發送它

我的理解是你想要管理你的消費者如何處理確認(提交給 _consumer_offsets)。

因此,Kafka 允許消費者通過在 __consumer_offsets 主題中向 Kafka 生成消息來跟蹤他們在每個分區中的位置(偏移量)。

有 3 個選項可用:

  1. 自動提交:使用enable.auto.commit=true ,每 auto.commit.interval.ms 自動提交(默認 5s)。
  2. 同步提交:顯式地使用 commitSync()同步提交,它提交由 poll() 返回的最新偏移量,如果失敗則重試,直到得到確認。
  3. 異步提交:以前的方法等待代理響應確認提交,這會使事情變慢。 我們可以使用不阻塞的 commitAsync(),如果失敗也不會重試。 它更快。 我們可以將回調傳遞給 commitAsync()。

所以基本上,你可以讓提交被自動處理。 同步提交並等待代理的確認或使用回調異步提交。

希望這能回答你的問題。

此致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM