我写了一个Kafka消费者和生产者。生产者是一个事务生产者,消费者配置了 isolation.level as read_commited。
但最终,一段时间后,消费者无法读取数据。它不会突然发生。它最终会发生。
当我检查时,我发现与 read_commited 消费者关联的 LSO (lastStableOffset) 即使在生产者端完成交易后也没有更新。它仍然是交易消息的起始索引。
如果有人对此有任何想法,请指导我。但是,我正在使用 2.3.0 版的 3 节点集群 kafka 设置。以下是我在 Kafka 代理的 server.properties 中指定的一些属性。
当我尝试将 KafkaConsumer 更改为 read_uncommited 模式时,它开始读取消息,因为它不再依赖于 lastStableOffset。所以,我相信它与 lastStableOffset 的更新有一些联系。