Как серверы договариваются о времени

Компьютерные часы не идеальны: кварцевый генератор понемногу спешит или отстаёт, а после перезагрузки время может сбиться ещё сильнее. Протокол NTP — сетевой способ сверять такие часы с более надёжным источником времени и постепенно корректировать их.

Сервер отправляет запрос и получает ответ с отметками времени. По ним NTP оценивает задержку передачи и разницу между часами, а затем выбирает корректировку. Это важно потому, что простой замер «когда пришёл ответ» ошибочен: пакет мог задержаться в пути. Источники времени организованы в иерархию: одни серверы сверяются с эталонными часами, другие — с ними.

Зачем банку общий временной порядок

Операция в распределённой системе часто оставляет след сразу в нескольких местах: приложение принимает запрос, база записывает изменение, а отдельный сервис фиксирует перевод или проверку. Согласованные временные метки помогают сопоставить эти записи и восстановить последовательность событий — например, понять, какой запрос пришёл первым и на каком этапе возник сбой.

Если часы заметно расходятся, журналы разных серверов могут показывать нелогичный порядок действий. Это усложняет проверку транзакций и поиск причины неполадки. Само по себе правильное время, однако, не гарантирует правильность перевода: банковские системы также используют собственные правила обработки и подтверждения операций.

Точность зависит от сети

NTP не устраняет задержки, а оценивает их и регулярно обновляет показания часов. Чем стабильнее соединение и ближе источник времени, тем надёжнее синхронизация; перегруженная сеть может ухудшить результат. Поэтому серверы обычно сверяются не один раз, а поддерживают время в согласованном диапазоне.

Для распределённого центра обработки данных это означает практическую вещь: когда одна операция проходит через множество машин, их часы должны не создавать ложную хронологию в журналах. Миллисекундная согласованность помогает увидеть, как именно развивалось событие, вместо того чтобы разбирать записи, в которых последствия будто произошли раньше причины.