У меня есть система подписки, которая позволяет пользователям подписываться на вещи или людей, которые им интересны, и получать уведомления при отправке новых сообщений, файлов или изображений. Чтобы определить, является ли что-то новым, я отслеживаю их взгляды по tstamp. Проблема состоит в том, что, если веб-сервер и база данных MySQL не синхронизированы, пользователь может пропустить контент, который публикуется примерно в то же время, когда он просматривает элемент. или будет показан предмет дважды.
Я могу устранить эту проблему, извлекая tstamp из базы данных, но это большое количество подключений к базе данных только для получения tstamp. Если бы я мог регулярно синхронизировать системные часы веб-серверов с нашим сервером базы данных (по крайней мере, насколько это возможно), я бы, по крайней мере, значительно минимизировал проблему. Есть ли у кого-нибудь совет относительно лучшего способа сделать это?
Я не хочу вводить время просмотра в базу данных, используя NOW (). Я записываю представления с помощью процесса Gearman, что означает, что при входе в представление всегда есть небольшая задержка. Однако, как правило, эта задержка минимальна и может быть меньше, чем разница между системными часами, при условии, что я не могу запустить регулярную синхронизацию.