Не думай о секундах свысока

Логотип компании
02.07.2012Автор
Не думай о секундах свысока
Международная служба вращения Земли (IERS), ответственная за поддержание точности универсального всемирного времени (UTC), в минувшую субботу (30 июня) добавила очередную дополнительную секунду к текущему ходу времени.
Международная служба вращения Земли (IERS), ответственная за поддержание точности универсального координированного времени (UTC), в минувшую субботу (30 июня) добавила очередную дополнительную секунду к текущему ходу времени. Это привело к неожиданным проблемам на компьютерных системах по всему миру, где размещаются такие крупные сервисы, как Gawker, LinkedIn, Mozilla, Reddit, StumbleUpon, Yelp и множество других, которые предпочли не сообщать открыто о возникших технических неполадках.

Добавление дополнительной секунды к текущему времени не было внезапным сюрпризом. Международная служба вращения Земли (IERS) запланировала это событие несколько месяцев назад, поэтому подготовиться к нему заранее не составляло труда. Прыгающие секунды (leap second) были изобретены в 1972 году с целью синхронизации международного атомного времени с астрономическим, основанным на вращении Земли. С тех пор к атомным часам добавили 25 прыгающих секунд. Предыдущее изменение было произведено в одну из двух наиболее благоприятных дат для подобных манипуляций, 31 декабря 2008 года (другая дата – 30 июня).

Поначалу, пока компьютерные системы были не такими громоздкими и популярными, как сегодня, особых проблем не было. Просто в последние секунды дня производился искусственный откат на 1 секунду назад, что и решало любые возможные проблемы. Но ИТ-мир изменился, а Сеть и онлайн-сервисы сделали каждую секунду гораздо более важной и нужной, нежели ранее. Поэтому, если синхронизация выполняется некорректно, это может способствовать появлению серьезных технически проблем и ошибок. В пустоте могут сгинуть сотни и тысячи email-сообщений, пришедших именно в эту "злополучную" секунду, а информация, введенная в это время, попросту не сохранится.

Прыгающая секунда, добавленная в 2005 году, привела к значительным техническим нестыковкам у корпорации Google, которая применила нетривиальное решение вопроса. Инженеры компании вместо того, чтобы добавить одну секунду в конце дня, равномерно добавляли миллисекунды в течение всего дня. В итоге к концу дня оказалось, что прыгающая секунда уже учтена, а серверы даже «не заметили» никаких изменений. Тем не менее, вплоть до сегодняшнего дня системные администраторы множества крупных и не очень проектов продолжают оставаться в блаженном неведении относительно дополнительных секунд и надеются на авось.