storm:如何获得螺栓之间的传输延迟?

ljo96ir5  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(378)

注意:我使用的是azurehdinsight风暴linux集群。
有一个storm ui提供了相当好的度量,但它没有提供螺栓之间的延迟。所以我在每个螺栓的开头和结尾放了一些日志语句。这样我可以计算螺栓之间的时间。不幸的是,此值有时返回负值…:/但这应该是不可能的。我使用四个工作进程(jvm),所以我假设当消息从一个jvm传递到另一个jvm时,它们的系统时钟不同步。
有谁能回答以下问题之一:

1) How to reliably get the transfer latency between bolts. 
2) How to sync the system clock between worker processes.
raogr8fs

raogr8fs1#

非常难——如果你想做得非常可靠,你需要使用 System.nanoTime() --这不会访问系统时钟,也不能在机器上同步——因此,它只能在同一台物理机器上运行的两个工作进程中工作。
对于多机测量,可以使用ntp同步系统时钟。但这将不太准确。

相关问题