【问题标题】:Kafka Streams application stops working after no message have been read for a while一段时间未读取消息后,Kafka Streams 应用程序停止工作
【发布时间】:2018-04-05 07:51:56
【问题描述】:

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

自 5 天以来没有针对该主题生成任何消息。我的 Kafka Streams 应用程序也托管了一个 spark-java 网络服务器,它仍然是响应式的。但是,我向 Kafka 主题生成的消息不再被 Kafka Streams 读取。当我重新启动应用程序时,将从代理获取所有消息。

我怎样才能让我的 Kafka Streams 应用程序对这种场景更耐用?感觉 Kafka Streams 有一个内部“超时”,之后它会在没有收到任何消息时关闭与 Kafka 代理的连接。我在文档中找不到这样的设置。

我使用 Kafka 1.1.0 和 Kafka Streams 1.0.0

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

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

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

    【讨论】:

    • 你的道具和拓扑在我看来都很合理; 5 天后,当主题virtual-test-monitoring-json 有新的数据管道时,您是否观察到 Streams 的 log4j 条目上的任何内容?
    猜你喜欢
    • 2016-12-27
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    相关资源
    最近更新 更多