簡體   English   中英

如何在運行時更改主題的偏移量?

[英]How to change offset of a topic during runtime?

我有一個 kafka 主題的生產者,它不斷將一些消息推送到 kafka 主題。 而且我還有另一個服務從主題中讀取這些消息。

我有一個業務用例,有時消費者需要忽略隊列中已經存在的所有消息,只開始處理新的即將到來的消息。 是否可以在不停止並重新啟動 kafka 服務器的情況下進行存檔。

我正在研究 GO。 因此,如果 kafka 支持這樣的要求,有什么方法可以更改消費者的配置以使用 sarama GO 客戶端從最新消息開始消費。

先感謝您。

您可以使用隨機 UUID 作為消費者組 ID,和/或禁用自動提交,然后您可以從最新的偏移量開始

config := sarama.NewConfig()
config.Consumer.Offsets.Initial = sarama.OffsetOldest

(復制自 Sarama 示例代碼)

否則,Kafka 消費者 API 應該有一個 seekToEnd function,但它似乎暴露在 Sarama 中,因為每個分區都從消費者那里獲得高水印,然后在 ConsumerGroup 實例上調用 ResetOffets。 注意:在這樣做之前應該暫停該組。

暫無
暫無

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

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