我有一个订阅系统,允许用户订阅他们感兴趣的事物或人,并在提交新帖子或文件或图像时收到通知。为了确定某些东西是否是新的,我通过 tstamp 跟踪他们的观点。问题是,如果网络服务器和 MySQL 数据库不同步,用户可能会错过几乎在他们查看项目的同时发布的内容。或被显示两次。
我可以通过从数据库中检索 tstamp 来消除这个问题,但这是为了获得 tstamp 与数据库的大量连接。如果我可以定期将网络服务器的系统时钟同步到我们的数据库服务器(尽可能地,至少),我至少可以显着减少问题。有没有人对最好的方法有任何建议?
我不愿意使用 NOW() 将查看时间输入数据库。我使用 Gearman Process 记录视图,这意味着在进入视图时总是会有轻微的延迟。但是,一般来说,这种延迟是最小的,并且它可能小于系统时钟之间的差异,假设我无法进行常规同步。