3 ноября 2021, 11:43

Почему происходят сбои в соцсетях? Нарисовали, как они устроены и что там может сломаться

REUTERS/ Brendan McDermid

Недавний шестичасовой сбой в работе Facebook, Instagram и WhatsApp по всему миру напугал пользователей — в некоторых странах интернет считается синонимом этих сервисов. Это заставило задуматься: почему настолько крупные площадки могут допустить такие продолжительные неполадки? Как это происходит? Мы разобрались, как устроен интернет, где могут возникнуть поломки, и нарисовали это.

Что может сломаться?

1

Самое простое — технические неполадки с оборудованием. Соцсеть — это дата-центры, то есть физические объекты. Представляют собой большие промышленные ангары с серверами, на которых все работает. Если дата-центр вывести из строя — например, его могут отключить от электричества, там могут сломаться системы кабелей, системы охлаждения, — то он отключается от мира. У каждой соцсети несколько дата-центров. Функции того, что вышел из строя, подхватывают другие.

Второе — программный сбой. Здесь больше вариантов. Оттолкнемся от недавнего инцидента с Facebook. В официальном сообщении руководство Facebook объясняет, что проблемы возникли после неудачного изменения конфигурации, которое привело к сбою в работе DNS-маршрутизаторов, координирующих сетевой трафик. Что это значит?

Интернет — это набор сетей, связанных друг с другом. Существуют протоколы, которые позволяют устройствам понять, как правильно отправить информацию из одной части сети в другую, например, со смартфона пользователя на сервер сайта, куда он собирается зайти. К примеру, протокол BGP (Border Gateway Protocol, протокол пограничного шлюза), по стандартам которого обмениваются информацией маршрутизаторы. У больших маршрутизаторов, благодаря которым работает интернет, есть постоянно обновляемые списки возможных маршрутов, используемых для доставки каждого сигнала от пользователя до мест их назначения. Без BGP маршрутизаторы не знают, что делать, и интернет просто не будет работать.

"Первый в этой цепочке — пользователь с устройством. Когда он пытается зайти на какой-либо сайт — не важно, через браузер или приложение, — он отправляет сигнал. Этот сигнал идет на распределяющий сервер провайдера — один из следующих этапов в цепочке. Этот сервер определяет, какой сайт запрашивает устройство, ищет его в своей базе и переправляет туда сигнал. В последнем инциденте с Facebook неполадки произошли на этом этапе — сервер провайдера потерял из виду Facebook, WhatsApp и Instagram. Эти сервисы для него перестали существовать", — говорит Ксения Бурая, аспирантка Лаборатории машинного обучения Университета ИТМО. 

Третье — неполадки могут возникнуть уже непосредственно на сайте.

Какие неполадки?

2

На следующем этапе сигнал приходит на сервер сайта, который уже внутри распределяет их. То, как устроена архитектура площадки, тоже имеет значение. Есть два варианта: микросервисная архитектура и монолит.

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

"Крупные соцсети, которые появились давно, изначально были устроены иначе — их архитектуру можно сравнить с монолитом. Одна большая часть отвечает за несколько разных функций. Если ломается монолит — перестают работать все сервисы, привязанные к нему. Монолит — это как фишки домино, которые стоят друг за другом, и если падает любая фишка — падают по цепочке все. А микросервисы — как музыканты в оркестре: если перестает играть один, то это все еще может дать возможность произведению состояться, потому что другие его аккуратно поддержат и кто-то даже может подменить", — объясняет Ксения Бурая.

Почему сбои такие долгие?

3

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

В случае с шестичасовым сбоем в работе сервисов Facebook так и было — инженерам компании потребовалось попасть в центры обработки данных, решить проблему и перезапустить систему.

Может ли популярная соцсеть сломаться навсегда?

4

"На уровне программного обеспечения — нет, — говорит Ксения Бурая. — В любом случае у каждой платформы всегда есть возможность откатиться назад на предыдущую версию. На уровне дата-центров — вряд ли, но в случае не зависящих от людей причин в виде, например, природных катастроф, сбой может длиться довольно продолжительное время".

Анастасия Акулова