我有一个应用程序,该应用程序实现了来自Kafka的Confluent REST Proxy中的GET /topics/(string: topic_name)/partitions/(int: partition_id)/messages?offset=(int)[&count=(int)]这样的API。
因此,我有大量的消费者。我的API处理程序非常简单:
consumer.assign(util.Arrays.asList(partition))
consumer.seek(partition, startOffset)
consumer.poll(Duration.ofMillis(300L))
consumer.unsubscribe()
因此,我的解决方案在几天内效果很好。然后,发生了某些情况,poll()
总是返回空的记录列表。
我可以解决此问题以重新启动我的应用程序。另外,我可以启动应用程序的新实例,并且该实例可以从Kakfa读取记录,因此Kafka仍然存在。