升级到 Java 15 后,Kafka 消费者无法可靠地进行轮询,生产者首先在同一 JVM 中寻找和消费最近的记录

问题描述

我将我的 Apache Kafka 应用程序升级到 Java 15,现在我的应用程序不能可靠地进行轮询。

该应用程序在同一个 JVM 中具有生产者和消费者,并且具有单个分区。 Producer 寻求最近的记录并使用它来读取应用程序数据。然后生产者向主题发送一条新记录。消费者不再可靠地轮询记录。有时它会投票确定,这令人费解。当我在生产中升级到 Java 15 时,发生了同样的情况。我使用的是 Kafka 2.12 版本 2.7.0。

消费者以标准方式实现..

      ConsumerRecords<String,byte[]> consumerRecords = kafkaConsumer.poll(Duration.ofSeconds(1)); // timeout
      for (ConsumerRecord<String,byte[]> consumerRecord : consumerRecords) {
        if (LOGGER.isDebugEnabled()) {
          LOGGER.debug("received consumerRecord " + consumerRecord);
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)