Вторая статья автора в серии "Beyond Happy Path Engineering". Автор разбирает, как наивное обращение со временем в продакшене приводит к багам.
Разработчики часто используют now() и wall-clock там, где нужны монотонные часы для измерения длительности, guarded-транзиции состояния вместо сравнения таймстемпов для истечения срока, и явные часовые пояса/календари вместо голого UTC для пользовательских дат.
Автор на примере резервирования товара при покупке показывает, как дрейф часов между машинами вызывает преждевременное освобождение брони, сравнение таймстемпов не доказывает порядок событий, просроченный cron-воркер при наверстывании создает лавину обновлений, а отсутствие монотонного времени приводит к отрицательным измерениям производительности.
А надо явно разделять время на четыре категории: длительность, момент, порядок, бизнес-календар. Подробности в статье
Непростое время
30.07.2026
Похожее
21.09.2026
Связанные списки
Статья объясняет, что такое интрузивные связные списки - вариант списков, в кото...
03.09.2026
Конкурентный сервер на Go
Это восьмая часть серии о конкурентных сетевых серверах, в этот раз посвященная ...
17.08.2026
Платите за скорость
В системах хранения данных каждая быстрая операция записи переносит недоделанную...
24.07.2026
Виртуальная память
Масштабное погружение в виртуальную память от самых основ. Туториал прикольно на...