Apache kafka 关于阿帕奇·卡夫卡的澄清

Apache kafka 关于阿帕奇·卡夫卡的澄清,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我对阿帕奇·卡夫卡有几个问题 能否将单个分区分配给同一组中的多个使用者 偏移量存储在哪里?它是在分区中还是在使用者处 就像制作者总是将记录发布到lead分区,并将记录复制到其他分区一样,Kafka消费者是否从lead分区读取数据 比方说,一个使用者正在从分区读取数据,而该使用者正在运行一个较长的进程。在这种情况下,生产者更新分区的速度将快于消费者从同一分区消费的速度。有没有一种方法可以加快该分区的消耗 我们是否可以在分区的提交日志中创建一个检查点,以便使用者可以从该特定检查点开始处理?如果我想从

我对阿帕奇·卡夫卡有几个问题

  • 能否将单个分区分配给同一组中的多个使用者
  • 偏移量存储在哪里?它是在分区中还是在使用者处
  • 就像制作者总是将记录发布到lead分区,并将记录复制到其他分区一样,Kafka消费者是否从lead分区读取数据
  • 比方说,一个使用者正在从分区读取数据,而该使用者正在运行一个较长的进程。在这种情况下,生产者更新分区的速度将快于消费者从同一分区消费的速度。有没有一种方法可以加快该分区的消耗
  • 我们是否可以在分区的提交日志中创建一个检查点,以便使用者可以从该特定检查点开始处理?如果我想从一个特定的检查点开始执行审计,这会很有用吗
  • 能否将单个分区分配给同一组中的多个使用者

    不,同一消费者组中的一个消费者最多只能使用一个分区,如前所述:“这是通过将主题中的分区分配给消费者组中的消费者来实现的,这样每个分区就只能由该组中的一个消费者使用。”

    偏移量存储在哪里?它是在分区中还是在使用者处

    每个消费者组的偏移量存储在一个名为
    \uuuu consumer\u offset
    的内部卡夫卡主题中,如下所述:“每个组的协调员从内部偏移量主题\uuu consumer\u offset的领导者中选择,用于存储提交的偏移量。

    就像制作者总是将记录发布到lead分区,并将记录复制到其他分区一样,Kafka消费者是否从lead分区读取数据

    是的。leader分区是唯一的“面向客户机”分区,如所述:“'leader'是负责给定分区的所有读写操作的节点。”

    编辑:

    有没有一种方法可以加快该分区的消耗


    加快消费的措施是增加主题的分区,这样您就可以有更多的消费线程读取该主题并并行处理数据。同时,您需要确保数据在各个分区中均匀分布。

    我添加了一个关于消费者的后续问题。你能不能回答一下,有没有一个渠道可以让我参与卡夫卡的讨论?我不确定。至少我不知道。但应该有邮件列表可用。关于你的第五个问题。是的,这是可能的,但在很大程度上取决于您的客户端API。如果使用Java KafkaConsumer,您可以使用
    seek
    方法。关于@zilcuanu Confluent的JavaDocs中提供了更多详细信息,它有一个公开的卡夫卡问题松弛频道。您还可以通过使用缓冲区和超时设置以及减少轮询循环中处理的记录数来加快消耗