为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喵时光机 2021-12-30 17:33:26
我很好奇是否有人对我的情况有最佳实践或建议:我对通过 REST 提供数据没有任何影响的服务器。数据仅在特定时间范围内有效,并会定期刷新。下一次刷新发生的时间通过 http 标头字段知道。在标题中还有服务器的当前时间。服务器上的时间关闭了几秒钟(似乎没有通过 NTP 同步)我的任务如下:新数据被服务器刷新后尽可能短地抓取我的问题是:我应该只保存我的服务器时间和每个请求的目标服务器之间的偏移秒数并相应地调整我的下一次拉取吗?我应该创建某种“其他服务器”时钟,它定期与另一台服务器的时钟同步,并有偏移量来触发我的下一次拉取?我的问题不是什么:处理时间/时区。最佳解决方案将使我能够在从其他服务器更新后立即获取数据。
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

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

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

基本上你不关心他们的时间。它可能在某个奇怪的时区或某个奇怪的时间单位中,但无论它是什么,它们都会告诉您从上次请求开始的秒数,您应该执行下一次请求。


查看完整回答
反对 回复 2021-12-30
  • 1 回答
  • 0 关注
  • 590 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号