Подробности падения Skype

30 декабрь, 2010 - 11:51Александр Москалюк

Как умирал Skype – подробное описание недавнего падения от CIO компании. Вкратце ситуация была следующая:

  1. Skype как утилита для отправки сообщений позволяет хранить текстовые сообщения на стороне сервера, если получатель находится в оффлайне. По какой-то причине в среду, 22 декабря, кластер серверов, отвечающих за хранение оффлайн-сообщений, получил более высокую, чем обычно, нагрузку.
  2. С нагрузкой серверов сообщения клиентам отсылались с некой задержкой. Также выяснилось, что клиент Skype под Windows версии 5.0.0152 (не последняя версия) содержат какой-то баг (Ларс Раббе решил не вдаваться в описание подробностей), который мешает правильно обрабатывать устаревшие оффлайн-сообщения.
  3. Примерно 50% пользователей Skype сидело на 5.0.0152 для Windows, из них у 40% завис клиент. Из них 25-30% имели статус супер-узлов, что в терминологии Skype означает права поддерживать в рабочем состоянии каталог пользователей, маршрутизировать трафик между ближайшими узлами.
  4. 25-30% супер-узлов упало в канун пика трафика. Оставшиеся в живых 70-75% увидели серьезное увеличение трафика, и в результате каких-то правил, прописанных Skype для поддержки работоспособности сети (ха!), начали самоизолироваться путем харакири.
  5. По сути, инфраструктурные проблемы свелись к нехватке ресурсов для поддержания супер-узлов. Разработчики Skype временно убили видео-чат для групп, и на освободившихся серверах начали поднимать супер-узлы.
  6. Каждая из трех описанных выше проблем (баг в клиенте, рост нагрузки на оффлайн-сообщения, правила для супер-узлов) не является критичной сама по себе, однако комбинация из трех факторов убила инфраструктуру пиринговой сети.

Для любителей некрологов – как умирал Foursquare.