首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡夫卡0.9:早期卡夫卡的消费

卡夫卡0.9:早期卡夫卡的消费
EN

Stack Overflow用户
提问于 2016-10-19 22:08:21
回答 1查看 3.5K关注 0票数 1

根据我对卡夫卡消费者的解读,我的理解是,如果我设置了这两个属性,那么在我的消费者推出时,我将永远从最早的抵消中消费

代码语言:javascript
复制
enable.auto.commit = false
auto.offset.reset = earliest

虽然当我第一次启动我的应用程序时,这是可行的,但是下一次我重新启动它时不会从一开始就消耗它。

相反,我需要做的是将我的group.id更改为新的东西,然后它将从最早的偏移恢复。

还可能有其他的犯罪行为吗?

更新

在我看来,这是一个问题,骆驼卡夫卡组件,我正在使用。org.apache.camel.component.kafka.KafkaConsumer类具有以下逻辑

代码语言:javascript
复制
if (endpoint.isAutoCommitEnable() != null && !endpoint.isAutoCommitEnable()) {
    if (processed >= endpoint.getBatchSize()) {
        consumer.commitSync();
        processed = 0;
    }
}

通过我的阅读,这看起来好像每次自动提交启用是假的,它就会提交偏移量。这是Camel Kafka组件的一个特性,即使启用了自动提交,它也会在x个消息数量之后同步。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-20 12:45:18

你的理解听起来是对的。

卡夫卡0.9既有“旧”也有“新”消费者吐露。此配置属性在它们之间发生了更改。

代码语言:javascript
复制
auto.commit.enable = false
enable.auto.commit = false

https://kafka.apache.org/documentation#consumerconfigs

在启动时,它也应该记录它的配置,所以在那里进行验证。

代码语言:javascript
复制
2016-10-06 14:19:41,725 INFO [org.apache.kafka.clients.consumer.ConsumerConfig:165] - ConsumerConfig values:
    group.id = service
    bootstrap.servers = [kafka:9092]
    enable.auto.commit = false
    auto.offset.reset = latest
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40142326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档