我正在使用 Kafka 0.8.1 和 Kafka python-0.9.0。在我的设置中,我设置了 2 个 kafka 代理。当我运行我的 kafka 消费者时,我可以看到它从队列中检索消息并跟踪两个代理的偏移量。一切都很好!
我的问题是,当我重新启动消费者时,它会从头开始消费消息。我所期待的是,在重新启动时,消费者会从它死前停止的地方开始消费消息。
我确实尝试跟踪 Redis 中的消息偏移量,然后在从队列中读取消息之前调用 consumer.seek 以确保我只收到以前未见过的消息。虽然这行得通,但在部署此解决方案之前,我想与大家核实一下……也许我对 Kafka 或 python-Kafka 客户端有一些误解。似乎消费者能够从中断的地方重新开始阅读是非常基本的功能。
谢谢!