gpt4 book ai didi

messaging - Apache 卡夫卡 : consumer state

转载 作者:行者123 更新时间:2023-12-04 06:41:27 24 4
gpt4 key购买 nike

我阅读了 Kafka 网站上的文档,但是在尝试实现一个完整的最小示例(生产者 --> kafka --> 消费者)之后,我不太清楚“消费者状态”如何处理偏移量。

一些信息

  • 我正在使用高级 API (Java)
  • 我的消费者是一个带有 Main 的简单类,基本相同,可以在“快速入门”Kafka 页面
  • 上找到
  • 我正在使用 Zookeeper
  • 我正在使用单个经纪人

  • 现在,文档说 HighLevel API 消费者使用 zookeeper 存储其状态,所以我希望偏移量,因此消费者的状态将保持在
  • Kafka 代理重启
  • 消费者重启

  • 但不幸的是,它没有:每次我重新启动代理或消费者时,所有消息都会重新传递。
    现在,可能这些都是愚蠢的问题,但是
  • 如果 Kafka 重启 :我知道这取决于消费者来保持其状态,所以很可能当代理(重新)启动重新传递所有(!)消息并且消费者决定消费什么时......对吗?如果是这样,如果我有 10.0000.0000 条消息会发生什么?
  • 如果 JVM 消费者重启 :如果状态保持在 Zookeeper 上,为什么要重新传递消息?新的 JVM 是否有可能具有不同的消费者“身份”?而在这种情况下,如何绑定(bind)之前的身份呢?
  • 最佳答案

    是的,consumer 负责保持其状态,Java 高级 Consumer 将其状态保存在 zookeeper 中。

    很可能您没有指定 groupId配置属性。在那种情况下,kafka 会生成随机 groupId .

    也有可能您关闭了 autocommit.enable配置属性。

    可以在此页面上找到 Kafka 配置的完整引用:http://kafka.apache.org/configuration.html 下“高级消费者的重要配置属性”标题。

    关于messaging - Apache 卡夫卡 : consumer state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755030/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com