请求/响应的Kafka消息时间戳

问题描述 投票:4回答:1

我正在构建一个性能监视工具,它可以在具有Kafka主题的集群中工作。

例如,我正在监控两个主题:requestresponse。即我需要有两个时间戳 - 一个来自request,另一个来自response。然后我可以计算差异,看看在收到请求并产生响应的服务中花了多少时间。

请考虑它正在群集上运行的帐户,因此不同的组件可能在不同的主机上运行,​​因此 - 不同的物理时钟 - 因此它们可能不同步并且会显着扭曲结果。

此外,我无法可靠地使用监视工具本身的时钟,因为这将通过其自己的处理时间影响计时结果。

所以,我想设计一种可靠计算时差的正确方法。测量卡夫卡两个事件之间时差的最可靠方法是什么?

performance apache-kafka timestamp cluster-computing clock
1个回答
0
投票

解决方案1:

之前我们遇到过类似的问题,我们的解决方案是建立NTP(网络时间协议)。

在这个节点中,您的一个节点充当NTP服务器并运行恶魔以保持所有节点的时间同步,我们保留UTC,所有其他节点都有NTP客户端,这些客户端在所有服务器上保持相同的时间

解决方案2:

为所有组件构建时钟通用API,以提供当前时间。这将使您的系统设计独立于节点本地时钟。

© www.soinside.com 2019 - 2024. All rights reserved.