假设我有Kafka主题cars
。
我还有一个用户组cars-consumers
,它订阅了cars
主题。cars-consumers
消费者组当前处于偏移89处。
当我现在删除cars
主题时,cars-consumers
使用者组会发生什么情况?它也会被删除吗?
如果没有,当我重新创建cars
主题时会发生什么?cars-consumers
消费者组是否仍处于偏移89处?
它不会立即被删除。
__consumer_offsets
主题将组名作为记录键进行维护,主题分区偏移量存储在值中。如果没有对同一组的提交,它最终会被压缩。
换言之,如果组订阅了cars
主题和其他主题,那么只要其他主题的提交继续,cars
主题的提交偏移量就会保持不变(因为它们都是按组密钥分组的(。因此,如果您为一个不止有该主题的组重新创建该主题,那么您可能会看到旧的偏移。但是,如您所说,如果偏移量处于89
,并且在下一次消费者轮询中无法立即获得,则auto.offset.reset
将生效,无论是转到主题的开头还是结尾