我想道歉,如果问题是不是很好的形成,所以我会补充额外的澄清,如果需要的话。
我有一个Kafka主题和一个使用Spring Kafka 2.8用Java编写的消费者。我想手动保存偏移到Zookeeper在一定的时间段,以便其他应用程序可以读取它们的情况下失败。是的,我知道我的消费者正在向__consumer_offsets提交偏移量,但我想在Zookeeper中将其作为备份计划。有什么办法可以做到吗?任何链接到文档或方法将不胜感激!
我想道歉,如果问题是不是很好的形成,所以我会补充额外的澄清,如果需要的话。
我有一个Kafka主题和一个使用Spring Kafka 2.8用Java编写的消费者。我想手动保存偏移到Zookeeper在一定的时间段,以便其他应用程序可以读取它们的情况下失败。是的,我知道我的消费者正在向__consumer_offsets提交偏移量,但我想在Zookeeper中将其作为备份计划。有什么办法可以做到吗?任何链接到文档或方法将不胜感激!
1条答案
按热度按时间myzjeezk1#
Kafka将偏移存储从zookeeper移动到brokers,原因是高写入负载,因此偏移更新需要在所有节点上路由。你可以看看Offset Management
您预计当前的抵销管理会出现什么故障?也许您可以增加
offsets.topic.replication.factor
(__consumer_offsets
主题的复制因子)以获得更高的可用性。如果你想手动提交偏移量,那么第一个
enable.auto.commit
(在spring中是ENABLE_AUTO_COMMIT_CONFIG
)应该是false
,以避免自动提交偏移量。在此使用MANUAL_IMMEDIATE
或MANUAL
确认模式定期提交偏移。理想情况下,手动确认是不安全的,因为偏移量可能被无序提交。