【发布时间】:2018-06-27 11:43:55
【问题描述】:
producer 发送消息 1、2、3、4
consumer 接收消息 1、2、3、4
consumer 崩溃/断开连接
producer 发送消息 5、6、7
consumer 恢复并应该接收从 5 而不是 7 开始的消息
对于这种结果,我必须使用哪个offset 值以及需要做哪些其他更改/配置
【问题讨论】:
标签: apache-kafka kafka-consumer-api
producer 发送消息 1、2、3、4
consumer 接收消息 1、2、3、4
consumer 崩溃/断开连接
producer 发送消息 5、6、7
consumer 恢复并应该接收从 5 而不是 7 开始的消息
对于这种结果,我必须使用哪个offset 值以及需要做哪些其他更改/配置
【问题讨论】:
标签: apache-kafka kafka-consumer-api
当消费者加入消费者组时,它将获取最后提交的偏移量,因此如果在崩溃之前提交了最新的偏移量(即 4),它将重新开始从 5、6、7 读取。
auto.offset.reset 属性的 earliest 和 latest 值在消费者启动但分配的分区没有提交的偏移量时使用。在这种情况下,您可以选择是从头开始(最早)还是在最后一条消息之后(最新)重新阅读所有消息。
【讨论】:
Producer 连续发送消息...我在停止consumer之前检查了偏移值,它是8023。10分钟后我开始consumer然后第一个偏移值是8020。经过一些我又一次停止了消费者,那个时候偏移值是9239一个小时后我开始consumer然后第一个消息偏移值是9299我正在设置一个groupId和auto.offset.reset是latest我也是记录 partition 值,它只是 0