consumer_offset里面存储的消费offset。
kafka是批量拉取消息的,一次拉取2000-3000条,当poll()时,kafka消费者组内发生了重新平衡时,是不会影响正在处理的消费者的。
2000-3000
poll()
举个场景吧,比如:消费者A,正在处理P1和p2的分区,当有新的消费者B出现时,触发消费者平衡,kafka将p2分给了B消费者。这时,消费者A处理完拉取到的p2消息,提交完offset之后,不会在接收到新p2消息了,这时消费者B开始处理。
所以,这里的重点是提交完offset之后,因为对于kafka来讲,offset提交之后,就已经认定消费了,消费者B则接着开始消费。
提交完offset之后
去调用重平衡监听器中onPartitionRevoked()的是谁,是在poll的那条线程吗?
onPartitionRevoked()
找不到想要的答案?提一个您自己的问题。
0 声望
这家伙太懒,什么都没留下
consumer_offset里面存储的消费offset。
kafka是批量拉取消息的,一次拉取
2000-3000
条,当poll()
时,kafka消费者组内发生了重新平衡时,是不会影响正在处理的消费者的。举个场景吧,比如:
消费者A,正在处理P1和p2的分区,当有新的消费者B出现时,触发消费者平衡,kafka将p2分给了B消费者。这时,消费者A处理完拉取到的p2消息,提交完offset之后,不会在接收到新p2消息了,这时消费者B开始处理。
所以,这里的重点是
提交完offset之后
,因为对于kafka来讲,offset提交之后,就已经认定消费了,消费者B则接着开始消费。去调用重平衡监听器中
onPartitionRevoked()
的是谁,是在poll的那条线程吗?你的答案