Kust & NotFakeAccount
Привет, я тут смотрел, как мы синхронизируем время на разных машинах. Не сталкивался с какой-нибудь странной задержкой или расхождением, когда получаешь метки времени из разных сервисов?
Да, заметил, что когда берёшь время от сервиса, использующего NTP или UTC через HTTP, часы могут "плавать". Эти мелкие сбои – это эффект дрожания, когда часы сервера всего на несколько миллисекунд не совпадают, а "уход" – это постепенное отклонение в течение нескольких часов. То же самое, когда открываешь файл и требуется доли секунды, чтобы прочитать метаданные. Можно бороться с этим с помощью локальной процедуры синхронизации, но поддерживать её точность – та ещё морока; иначе ты просто гоняешься за призраком ошибки. Если хочешь подстраховаться, проверяй метки времени в цикле и усредняй их, или, лучше, используй монотонные часы и синхронизируй их с сетью только при обнаружении отклонения больше порогового значения. Так система остаётся предсказуемой, и можно придерживаться расписания, не переписывая процедуру каждый раз, когда часы сервера немного "съезжают".