Kafka如何为每个主题存储偏移量?

Rau*_*har 16 java apache-kafka kafka-consumer-api

在轮询Kafka时,我使用该subscribe()功能订阅了多个主题.现在,我想设置的偏离,我想从每个主题阅读,而无需每次重新订阅后seek(),并poll()从一个话题.在轮询数据之前seek(),是否会迭代地调用每个主题名称实现结果?如何在Kafka中准确存储偏移量?

我每个主题都有一个分区,只有一个消费者可以阅读所有主题.

Gua*_*Zuo 31

Kafka如何为每个主题存储偏移量?

卡夫卡已将胶印存储从动物园管理员转移到卡夫卡经纪人.原因如下:

Zookeeper不是服务高写入负载(例如偏移更新)的好方法,因为zookeeper路由每个节点写入每个节点,因此无法分区或以其他方式扩展写入.我们一直都知道这一点,但是因为我们已经依赖于zk,所以选择这种实现作为一种"方便的结合".

Kafka将偏移提交存储在主题中,当使用者提交偏移时,kafka将提交偏移消息发布到"commit-log"主题并保留内容结构,将组/主题/分区映射到最新偏移以便快速检索.有关偏移管理的更多设计信息可以在此页面中找到.

现在,我想设置我想从每个主题中读取的偏移量,而不是在每个主题的seek()和poll()之后重新订阅.

kafka管理工具有一个新功能可以重置偏移量.

kafka-consumer-group.sh --bootstrap-server 127.0.0.1:9092 --group
      your-consumer-group **--reset-offsets** --to-offset 1 --all-topics --execute
Run Code Online (Sandbox Code Playgroud)

还有,你可以使用更多的选择.