[英]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.