gpt4 book ai didi

java - 如何处理服务器之间的时间不同步

转载 作者:行者123 更新时间:2023-12-02 10:37:47 25 4
gpt4 key购买 nike

我很好奇是否有人对我的情况有最佳实践或建议:

  • 我对通过 REST 提供的数据没有任何影响的服务器。
  • 数据仅在特定时间范围内有效,并定期刷新。
  • 下一次刷新发生的时间可以通过 http header 字段得知。 header 中还有服务器的当前时间。
  • 服务器上的时间关闭几秒钟(似乎没有通过 NTP 同步)

我的任务如下:

  • 服务器刷新后尽可能短地获取新数据

我的问题是:

  • 我应该只保存每个请求的服务器时间和目标服务器之间的偏移秒数并相应地调整我的下一个拉取吗?
  • 我是否应该创建某种“其他服务器”时钟,该时钟定期与其他服务器的时钟同步,并具有其偏移量以触发我的下一次拉取?

我的问题不是关于:时间/时区的处理。

最佳解决方案将使我能够在从其他服务器更新数据后立即获取数据。

最美好的祝愿,弗洛里安

最佳答案

如果其他服务器的时间与您的时间不同,那么我认为您不应该尝试通过使用偏移量等“同步”到您的时间。它可能会起作用,但知道您没有正确的同步,它就不会不可靠(时差可能随时改变)。

如果第三方 REST 服务器为您提供当前时间和下次数据刷新时间(也在其服务器时间中),那么您可以计算请求何时应在不考虑的时间度量中你的服务器时间。例如,如果当前时间是 12:00:07,下一次刷新是 12:00:10,那么您知道应该在 3 秒后执行下一个请求。只需根据预计的刷新时间将其安排到您之前的请求即可。

基本上你不关心他们的时间。它可能位于某个奇怪的时区或某个奇怪的时间单位,但无论是什么,它们都会告诉您距离上次请求还有多少秒,您应该执行下一个请求。

关于java - 如何处理服务器之间的时间不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53152404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com