[英]How to consume from latest offset using Sarama Go Kafka Consumer
[英]Kafka Consumer: How to programatically consume from specific offset in Go Sarama
最近,我開始學習使用kafka工作。 我正在從事的項目使用sarama 。
對於閱讀消息,我使用ConsumerGroup
。
如果foo
返回false
,我需要在一段時間后再次閱讀該消息。 如何才能做到這一點?
func (consumer *Consumer) ConsumeClaim(session sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
for message := range claim.Messages() {
if ok := foo(message); ok {
session.MarkMessage(message, "")
} else {
// ???
}
}
return nil
}
您可以通過在消費者組的Setup()
回調中包含以下內容來將消費者組的偏移量重置為較舊的偏移量:
func (e myConsumerGroup) Setup(sess sarama.ConsumerGroupSession) error {
sess.ResetOffset(topic, partition, offset, "")
return nil
}
您也可以通過控制台實現相同的目的:
kafka-consumer-groups \
--bootstrap-server localhost:9092 \
--group my-consumer-group \
--topic myTopicName \
--reset-offsets \
--to-offfset 100 \
--execute
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.