Как Facebook превратился в тыкву. Разбор от телеком-эксперта Алекса Семеняки
Эксперт по телекому и работе DNS Алекс Семеняка по просьбе dev.ua коммертирует произошедший вчера сбой в Facebook, Instagram и WhatsApp.
Эксперт по телекому и работе DNS Алекс Семеняка по просьбе dev.ua коммертирует произошедший вчера сбой в Facebook, Instagram и WhatsApp.
Эксперт по телекому и работе DNS Алекс Семеняка по просьбе dev.ua коммертирует произошедший вчера сбой в Facebook, Instagram и WhatsApp.
В масштабах Facebook (сотни тысяч серверов в датацентрах по всему миру) «ручное» управление сетью оказывается абсолютно неэффективным и ненадёжным, если не сказать невозможным.
В результате Facebook (как и все компании подобного размера) используют системы автоматизации управления сетью, позволяющие описывать сразу логику более высокого уровня, чем логика работы отдельного элемента сети, и применять её сразу в масштабах всей сети.
Увы, у этого подхода есть и обратная сторона: система должна быть отстроена так, чтобы ошибочная конфигурация не могла сломать всю сеть целиком.
По какой-то причине именно такая история и случилась вчера: сетевые устройства Facebook по всему миру получили неверную конфигурацию, что привело к мгновенной недоступности части сервисов. Увы, среди этих сервисов оказался и DNS Facebook.
Без него по цепочке и остальные сервисы дружно «превратились в тыкву» — по слухам, вплоть до систем пропуска людей в здания. А в условиях, когда многие всё ещё работают из дома, это сильно ухудшило время восстановления: когда сеть не работает, для восстановления надо оказаться рядом с оборудованием.
Есть ещё интересный момент. Года 3 назад у Facebook был сбой, результатом которого явилось нарушение работы кучи мобильных приложений. Оказалось, что Facebook раздаёт авторам мобильных приложений тулкит для построения разной аналитики, и недоступность соцсети тогда сказалась на работе этих приложений (хотя, казалось бы)…
В этот раз такого не наблюдалось — возможно, этот тулкит с тех пор сделали асинхронным. Но запросы на резолвинг имён в зонах Facebook.com, Instagram.com и прочих было очень много.
Провайдерские резолверы отвечали на них ошибкой SERVFAIL, которая по стандарту не кешируется — то есть, спустя короткое время запрос улетал заново. А резолверы операторов частенько не рассчитаны на высокую нагрузку (операторы обычно вообще к DNS относятся лишь бы как, посмотрим правде в глаза). Так что под потоком этих запросов они начали «проседать», что привело к тормозам по запросам ко всем ресурсам. Отсюда много жалоб на то, что «тормозят все сервисы».
Плюс люди начали переходить в Twitter, Telegram и другие сети — у которых тоже случился незапланированный всплеск нагрузки. Сочетание этих факторов и создало картинку вчерашнего вечера.