【发布时间】:2015-08-15 04:59:59
【问题描述】:
我注意到我的网络服务器 (Amazon EC2) 和数据库(运行 PostgreSQL 的 Amazon RDS)之间的时间戳不匹配。他们离开了几秒钟。
在数据库中创建了一些带有时间戳的条目(使用 SQL current_timestamp)。服务器读取这些条目并将时间戳与其自己的时钟进行比较(使用 Django timezone.now())以选择比“x”分钟新的条目。
这种不匹配会导致数据不一致。什么是让我的代码对不同机器之间的时钟不匹配具有容错能力的好方法。我应该删除服务器端的timezone.now() 函数,而是从数据库中读取时间戳吗?这将增加少量的数据库访问开销,但时间戳在多个 Web 服务器之间是一致的。
或者,有没有更好的方法让两台机器保持同步?
【问题讨论】:
-
如果您使用的是 linux 机器,您可以启用 ntpd 以保持时钟同步。
标签: django postgresql datetime amazon-web-services