Kafka Streams应用程序在一段时间没有读取任何消息后停止工作

时间:2018-04-05 07:51:57

标签: apache-kafka apache-kafka-streams

我注意到我的Kafka Streams应用程序在没有从一段时间的Kafka主题中读取新消息时停止工作。这是我第三次看到这种情况发生。

自5天以来,未向该主题生成任何消息。我的Kafka Streams应用程序也提供了一个spark-java webserver,它仍然具有响应能力。但是,我对Kafka主题产生的消息不再被Kafka Streams读取。当我重新启动应用程序时,将从代理获取所有消息。

如何让我的Kafka Streams应用程序更耐用于这种情况?感觉Kafka Streams有一个内部“超时”,之后它在没有收到任何消息时关闭与Kafka经纪人的连接。我在文档中找不到这样的设置。

我使用Kafka 1.1.0和Kafka Streams 1.0.0

1 个答案:

答案 0 :(得分:3)

Kafka Streams没有内部超时来控制何时永久关闭与Kafka代理的连接;另一方面,Kafka经纪人确实有一些超时值来关闭来自客户端的空闲连接。但Streams会在有一些已经准备好发送给经纪人的处理结果数据后继续尝试重新连接。所以我怀疑你观察到的问题来自其他一些原因。

您可以分享您的应用程序拓扑草图和您使用的配置属性,以便我更好地了解您的问题吗?