相关疑难解决方法(0)

Java是否有现成的时钟同步解决方案?

我们有一个大型高性能软件系统,它由多个交互式Java进程(而不是EJB)组成.每个进程可以在同一台机器上,也可以在不同的机器上.

某些事件在一个进程中生成,然后以不同的方式传播到其他进程以进行进一步处理,依此类推.

出于基准测试目的,我们需要创建一个日志,记录每个事件何时通过"检查点",最终将这些日志组合起来,以获得每个事件如何通过系统传播的时间线以及延迟(当然,流程切换和IPC添加延迟,没关系).

当然,问题是时钟同步.所以这是我的问题:

1)如果所有进程都在同一台机器上,是否保证currentTimeMilis在通话时是准确的?ITP的错误是否存在一定的约束?

2)如果某些进程可能在不同的机器上,那么是否存在用于时钟同步的现成解决方案(也是免费或开源的)?我最好寻找可以绕过操作系统(Windows或Linux)并直接从Java工作的解决方案.我也非常理想地寻找能够以微秒精度运行的东西.我考虑过NTP,但我不确定它是否可以通过Java而不是通过操作系统获得,而且我不确定它的复杂性.

3)有没有办法确定在特定配置(或我最终使用的任何解决方案)中使用NTP的误差范围,以便我可以在计算延迟时给出误差幅度?

谢谢!

java distributed real-time clock-synchronization vector-clock

8
推荐指数
1
解决办法
3423
查看次数