写10000条消息只消费提交3000条,用kafka-consumer-groups.sh --describe真实验证CURRENT-OFFSET、LOG-END-OFFSET、LAG三个数字之间精确的关系。
命令 · python for i in range(10000): p.produce("lag-demo", value=str(i).encode()) p.flush() c = Consumer({"group.id": "lag-test-group", "enable.auto.commit": False}) count = 0 while count < 3000: m = c.poll(1.0) if m: count += 1 c.commit()
命令 · shell $ kafka-consumer-groups.sh --bootstrap-server localhost:19092 --describe --group lag-test-group
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG lag-test-group lag-demo 0 3000 10000 7000
每一步都是本文上面用kafka-consumer-groups.sh跑出来的原始结果。