Дополнительная секунда создаст проблемы интернету

Эталонное время расходится с астрономическим из-за изменения скорости вращения Земли. За последнюю тысячу лет набежала разница около десяти минут. В ночь на 1 июля 2015 года все атомные часы в мире остановят на одну секунду. Последний день июня продлится 86401 секунду вместо 86400 — на одну секунду больше двадцати четырех часов.

image
Фото звёздного неба с большой выдержкой. Ben Canales
Механические часы недостаточно точны, чтобы измерить эффект изменения разницы во времени такого порядка. Атомные часы обнаружили эту проблему. С 1987 года над этим вопросом работает Международная служба вращения Земли, которая оценивает угловую скорость вращения планеты и учитывает эффекты периодического отклонения земной оси. Организация рассчитывает поправки и добавляет дополнительную секунду 31 декабря или 30 июня каждый раз, когда разница эталонного времени с астрономическим приближается к 0,9 секундам. С 1972 года дополнительную секунду вводили 25 раз.

Прецессия Земли в масштабе 1000 лет:

В 2012 году java-приложения на серверах Mozilla Corporation зависли из-за добавления дополнительной секунды. Два с половиной часа сервера не работали в штатном режиме. От получаса до нескольких часов не работали сайты Yelp, LinkedIn, Gizmodo, FourSquare, Gawker, Amazon и многие другие.

Google оставался доступен. Компания подготовилась к этой ситуации. Для корректной работы серверов время должно быть синхронизировано и всегда идти вперед. Для внесения поправок в одну секунду обычно часы переводят на одну секунду назад в конце дня. Но эта повторяющаяся секунда, пишут в блоге Google, может вызвать проблемы. Что будет с операциями, которые будут производиться во время этой секунды? Точно ли сохраниться электронное письмо? Что случится со всеми серверами? В 2005 при введении дополнительной секунды сервера не работали. Вместо добавления секунды Google постоянно корректирует время — на несколько миллисекунд, то есть вводит дополнительное время ежедневно.

Подобным образом к ситуации приготовились Японская, Австралийская, Южнокорейская и Сингапурская биржи. В Нью-Йорке секунду введут в восемь вечера по местному времени — биржу к этому моменту попросту закроют. Nasdaq прекратит торговлю в 7:48 и в 7:55 отключится.

image
Иллюстрация Bloomberg

© Geektimes