卡夫卡菜鸟在这里!我有两个问题:

1)考虑在同一个Kafka消费者组中,运行在不同Kubernetes Pod上的Kafka消费者很少。这些 pods 消耗的主题是紧凑主题。现在,假设其中一个 pod 掉落了一段时间。现在我的问题是,有问题的消费者会从紧缩的Kafka主题中收到所有消息吗?或者,它是否仅接收失败后返回的主题?

2)我知道,Kafka消费者从“committed offset”开始的分区中接收主题。在“紧凑主题”的情况下它将如何工作,因为Kafka仅会发送带有最新偏移量的事件

请您参考如下方法:

消费者在压缩主题方面的工作方式与非压缩主题相同。在压缩期间,如果具有相同键的偏移量,则仅保留最新的键,但从不删除压缩的偏移量,它始终指向最新的键
例如。如果偏移量10,11,12具有相同的键,则压缩后将仅保留第12个偏移量键,并且任何消费者获取偏移量10,11或12时,它将获取相同的结果,即存储在偏移量12处的键值(如10,11的键值已删除)

提出您的问题-

1.消费者可以从所需的偏移量中获取数据,唯一的是如果压缩了一些偏移量,您将获得压缩后的偏移量的最新值

2.如前所述,消费者将继续从最后提交的偏移量中获取数据,如果要获取的偏移量已压缩,则可能会收到重复的消息

请参阅以下kafka链接中的详细压缩逻辑
https://kafka.apache.org/documentation.html#design_compactionbasics


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!