我们目前有两个运行同一流应用程序的实例。两者运行时都正确报告指标。当我们终止流应用程序之一时,运行实例上的指标都重置为0。为什么?这是预期的行为吗?
我们使用的是kafkastreams#allmetadata()从远程应用程序实例中获取指标,而kafkastreams#metrics()以获取本地度量数据。我知道这不是时间安排,因为样本数的数量设置为大数字,因此它们不会重置为旧数据。
我们使用的是1.1.1
更多详细信息我们如何从远程应用程序中获取它们:kafkastreams#allmetadata()返回具有远程应用程序的主机和端口的StreamsMetadata列表。我们对该主机进行休息和我创建的休息端点。休息端点返回kafkastreams#metrics()的结果。所有这些都起作用。当我将应用程序留下群集时,指标都将重置为0。我也可以在jconsole中看到这一点。
当应用程序离开群集时,任务将迁移到其他主机,因此应刷新KafkaStreams#allMetadata()
以获取新的端点以查询指标。