Исправление, позволяющее предотвратить повторение майского сбоя «облака» Google в ущерб производительности

Компания Google опубликовала подробный отчет, содержащий полученные из него уроки о сбое в работе, в App Engine (платформы для размещения облачных приложений с использованием инфраструктуры и серверов Google). По словам персонала, обслуживающего App Engine, их основным приоритетом, после того как будут устранены проблемы с задержкой, в результате которых работа этой платформы была прервана более чем на 2.5 часа, будет создание альтернативного решения Datastore, облачной базы данных, которая считается одной из составляющих элементов App Engine и из-за которой произошел сбой в работе.

Создание альтернативного решения Datastore

«Важно создать альтернативное решение Datastore», – говорится в аналитическом отчете, — «это решение должно быть менее восприимчивым к отключениям электропитания и будет предотвращать потери на дублирование во время отключений электропитания, но будет ухудшать производительность». Это происшествие началось, когда Datastore начало ощущать увеличение времени ожидания, вызванное системным сбоем, который возник около 12:30 p.m... Эта задержка привела к сильному замедлению перенаправления операций записи в резервный дата-центр. Рабочая группа App Engine инициировала процедуру восстановления приблизительно через пять минут после того как было замечено увеличение времени ожидания. К 1:05 p.m. очереди чтения уже обслуживались резервным центром обработки данных, а где-то через 10 минут рабочая группа сообщила об отключении.

     Через 10 минут резервный дата-центр начал обрабатывать и операции чтения, и операции записи, тем не менее, задержка по прежнему к высокому уровню тайм-аутов запросов. К 2:20 p.m. все приложения, за исключением больших приложений, стабилизировались, а к 3:10 p.m. все приложения вернулись в обычный режим работы.

Анализ произошедшего инцидента

Произошла перегрузка элемента Bigtable (проприетарная база данных), отвечающего за размещение объектов в этой системе, причиной которой стал сбой компьютерного кластера. Эта перегрузка привела к тому, что в запросах отсутствовала информация о месте назначения операций Datastore, предотвращающая тайм-ауты запросов, которые наступают через 30 после их создания. Задержки в обработке запросов Datastore привели к превышению допустимого количества запросов App Engine и блокировке всех ее запросов. Из-за простоя некоторые операции записи, созданные основной Datastore, не были переданы на обработку в резервный Datastore во время процедуры восстановления, что «привело к несоответствию зеркального образа основной и вспомогательной Datastore».

     Согласно Google, ее сотрудники связались со всеми администраторами, чьи приложения пострадали, и дали им соответствующие инструкции. Согласно компании, было затронуто только два процента всех приложений.


Поделиться информацией

Вы можете послать эту статью или новость коллеге или знакомому по email со своим комментарием, пригласить обсудить ее. Просто нажмите на иконку конверта --->


Сообщения, вопросы и ответы

Вы можете задать вопрос, написать комментарий, обсудить данную новость или статью.

Ваше сообщение (вопрос, ответ, комментарий)