Поделиться через


Высокий уровень доступности (надежность) в Azure Cosmos DB для NoSQL

В этой статье описывается поддержка высокой доступности (надежности) в Azure Cosmos DB для NoSQL и охватывает обе зоны доступности, а также аварийное восстановление между регионами и непрерывность бизнес-процессов.

Поддержка зоны доступности

Зоны доступности — это физически отдельные группы центров обработки данных в каждом регионе Azure. При сбое одной из зон службы могут переключиться на одну из оставшихся зон.

Дополнительные сведения о зонах доступности в Azure см. в статье "Что такое зоны доступности?"

Azure Cosmos DB — это мультитенантная служба, которая прозрачно управляет всеми деталями отдельных вычислительных узлов. Вам не нужно беспокоиться о каком-либо исправлении или плановом обслуживании. Azure Cosmos DB гарантирует договоренности об уровне обслуживания (SLA) по доступности и задержке P99 во всех автоматических операциях по техническому обслуживанию, выполняемых системой.

Предложения Azure Cosmos DB:

Устойчивость к сбоям отдельных узлов. Azure Cosmos DB автоматически снижает воздействие сбоев реплик, гарантируя наличие как минимум трех реплик ваших данных в каждом регионе Azure для вашей учетной записи в составе кворума с четырьмя репликами. Это обеспечивает достижение RTO 0 и RPO 0 при сбоях отдельных узлов, без необходимости в изменениях или конфигурациях приложения. При включении резервирования зоны эти реплики распределяются по нескольким зонам доступности, обеспечивая устойчивость к проблемам дата-центра и сбоям.

Устойчивость инфраструктуры к сбоям в зонах. При развертывании учетной записи Azure Cosmos DB с помощью зон доступности, Azure Cosmos DB обеспечивает RTO 0 и RPO 0 даже в случае сбоя в зоне. Дополнительные сведения о RTO см. в статье "Что такое непрерывность бизнес-процессов, высокий уровень доступности и аварийное восстановление?".

С включенными зонами доступности Azure Cosmos DB для NoSQL поддерживает зонально-резервную конфигурацию.

Предварительные условия

Влияние использования зон доступности

Влияние зон доступности на высокий уровень доступности базы данных Cosmos DB для NoSQL зависит от уровня согласованности учетной записи и регионов с включенными зонами доступности. Во многих случаях зоны отказоустойчивости не добавляют значимости или добавляют минимальную значимость, если учетная запись охватывает много регионов (если она не настроена с строгой согласованностью).

Ознакомьтесь со следующей таблицей, чтобы оценить влияние использования зон доступности в конфигурации текущей учетной записи:

Уровень согласованности учетной записи Регионы с включенными зонами доступности Влияние использования зон доступности
Асинхронная (С ограниченной устарелостью или слабая) Любое количество дополнительных регионов чтения. Предоставляет минимальное значение, так как пакет SDK уже предоставляет простое перенаправление для операций чтения при сбое региона чтения.
Синхронная (строгая) Два или более дополнительных регионов чтения Предоставляет маргинальное значение, так как система может использовать динамический кворум, если регион чтения теряет доступность, что позволяет продолжить запись.
Синхронная (строгая) Один вторичный регион чтения Предоставляет большее значение, так как потеря региона чтения в этом сценарии может повлиять на доступность записи.
Все Перечислите регионы и любое количество второстепенных регионов Обеспечивает большую доступность операций записи в случае зональных сбоев.
Все Один регион Один регион не может воспользоваться возможностями отказоустойчивости в нескольких регионах. Использование зон доступности защищает от полной потери доступности из-за зонального сбоя.

Улучшения SLA (договор уровня обслуживания)

Так как зоны доступности физически разделены и имеют отдельные источники питания, сети и системы охлаждения, уровень соглашений об условиях доступности выше (99,995%), чем для учетных записей с одним регионом (99,99%). Регионы, в которых включены зоны доступности, облагаются дополнительной платой в размере 25%, в то время как те, что без зон доступности, не несут этой дополнительной платы. Кроме того, премиальная стоимость зон доступности отменяется для учетных записей, настроенных на запись данных в нескольких регионах одновременно, и/или для коллекций, настроенных на автоматическое масштабирование.

Добавление дополнительного региона в учетную запись Cosmos DB обычно увеличивает существующий счет на 100 % (аддитивно, а не мультипликативно), хотя небольшие различия в затратах в разных регионах возможны. Для получения дополнительной информации см. страницу цен.

Включение зон доступности (AZ), добавление дополнительных регионов или включение функции записи в нескольких регионах можно рассматривать как поэтапный подход, который на каждом шаге увеличивает отказоустойчивость и доступность учетной записи Cosmos DB — начиная с 99.99% доступности для однорегионной конфигурации без зон доступности, через 99.995% для одного региона с зонами доступности, и до 99.999% доступности для много-региональной конфигурации с включенной функцией записи в нескольких регионах. Ознакомьтесь со следующей таблицей, чтобы получить сводку об уровне обслуживания для каждой конфигурации.

КПЭ Запись в пределах одного региона без зон доступности Запись в одном регионе с зонами доступности Запись в нескольких регионах и одном регионе без зон доступности Запись в нескольких регионах и запись в одном регионе с зонами доступности Создание нескольких регионов с несколькими регионами с зонами доступности или без них
Соглашение об уровне доступности записей 99,99 % 99.995% 99,99 % 99.995% 99,999 %
Соглашение об уровне обслуживания доступности для чтения 99,99 % 99.995% 99,999 % 99,999 % 99,999 %
Сбои зоны: потеря данных Потеря данных Без потери данных Без потери данных Без потери данных Без потери данных
Сбои зоны: доступность Потери доступности Без потерь доступности Без потерь доступности Без потерь доступности Без потерь доступности
Региональный сбой: потеря данных Потеря данных Потеря данных Зависит от уровня согласованности. Дополнительные сведения см. в разделе "Согласованность", "Доступность" и "Компромиссы по производительности". Зависит от уровня согласованности. Дополнительные сведения см. в разделе "Согласованность", "Доступность" и "Компромиссы по производительности". Зависит от уровня согласованности. Дополнительные сведения см. в разделе "Согласованность", "Доступность" и "Компромиссы по производительности".
Региональный сбой: доступность Потери доступности Потери доступности Отсутствие потерь доступности при сбое области чтения, временная потеря доступности при сбое области записи. Нет потерь доступности при сбое региона чтения; временные потери при сбое региона записи. Отсутствие потери доступности чтения, временная потеря доступности записи в затронутом регионе
Цена (1) Неприменимо Количество выделенных единиц запросов в секунду (x 1,25) Подготовленные регионы ЕЗ/с x N Предоставленные RU/с x 1,25 ставки x N регионов (2) Скорость записи в нескольких регионах x N

1 Для бессерверных учетных записей ЕЗ умножаются на коэффициент 1,25.

2 Ставка 1.25 применяется только к регионам, в которых можно включить зоны доступности.

Создание ресурса с включенными зонами доступности

Зоны доступности можно настроить только при добавлении нового региона в учетную запись NoSQL Azure Cosmos DB.

Чтобы включить поддержку зоны доступности, можно использовать следующее:

Переход на поддержку зон доступности

Сведения о переносе учетной записи Cosmos DB в поддержку зоны доступности см. в статье "Миграция Azure Cosmos DB для NoSQL в поддержку зоны доступности").

Аварийное восстановление между регионами и непрерывность бизнес-процессов

Аварийное восстановление (DR) относится к процедурам, которые организации используют для восстановления после событий значительного воздействия, таких как стихийные бедствия или ошибочные развертывания, которые приводят к простою и потере данных. Независимо от причины, лучшее средство для аварийного восстановления является хорошо определенным и проверенным планом аварийного восстановления и проектом приложения, который активно поддерживает аварийное восстановление. Прежде чем приступить к созданию плана аварийного восстановления, ознакомьтесь с рекомендациями по разработке стратегии аварийного восстановления.

Для восстановления после сбоя компания Microsoft использует модель общей ответственности. В этой модели корпорация Майкрософт гарантирует, что доступны базовые инфраструктуры и службы платформы. Однако многие службы Azure не делают автоматической репликации данных и не обеспечивают возврат из вышедшего из строя региона для перекрестной репликации в другой доступный регион. Для этих служб вы отвечаете за настройку плана аварийного восстановления, который подходит для вашей рабочей нагрузки. Большинство служб, работающих на платформе Azure как услуга (PaaS), предоставляют функции и рекомендации для поддержки аварийного восстановления. Вы можете использовать специализированные функции для поддержки быстрого восстановления и разработки плана аварийного восстановления.

Сбои регионов — это сбои, влияющие на все узлы Azure Cosmos DB в регионе Azure во всех зонах доступности. В редких случаях региональных сбоев можно настроить Azure Cosmos DB для поддержки различных уровней надежности и доступности.

Устойчивость

При развертывании учетной записи Azure Cosmos DB в одном регионе обычно не происходит потери данных. Доступ к данным восстанавливается после восстановления служб Azure Cosmos DB в затронутом регионе. Потеря данных может произойти только при невосстановимой катастрофе в регионе Azure Cosmos DB.

Чтобы обеспечить защиту от полной потери данных, которая может привести к катастрофическим авариям в регионе, Azure Cosmos DB предоставляет два режима резервного копирования:

  • Непрерывное резервное копирование выполняется для каждой области каждые 100 секунд. Они позволяют восстанавливать данные в любой момент времени с 1-секундной степенью детализации. Резервное копирование в каждом регионе зависит от зафиксированных данных этого региона. Если в регионе включены зоны доступности, резервная копия хранится в учетных записях хранения с резервированием между зонами.
  • Периодические резервные копии полностью выполняют резервное копирование всех разделов из всех контейнеров в вашей учетной записи без синхронизации между разделами. Минимальный интервал резервного копирования составляет 1 час.

При развертывании учетной записи Azure Cosmos DB в нескольких регионах устойчивость данных зависит от уровня согласованности, настроенного в учетной записи. В следующей таблице приведены сведения обо всех уровнях согласованности и RPO учетной записи Azure Cosmos DB, развернутой по крайней мере в двух регионах.

Уровень согласованности RPO для сбоя региона
Сеанс, согласованный префикс, в конечном итоге Менее 15 минут
Ограниченная устарелость K и T
Сильный 0

K = количество версий (т. е. обновлений) элемента.

T = интервал времени с момента последнего обновления.

Для учетных записей с несколькими регионами минимальное значение K и T составляет 100 000 операций записи или 300 секунд. Это значение определяет минимальный RPO для данных при использовании ограниченной устарелости.

Дополнительные сведения о различиях между уровнями согласованности см. в разделе "Уровни согласованности" в Azure Cosmos DB.

Управляемое переключение на резервный источник

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

Учетные записи, которые относятся к одному региону, могут утратить доступ после регионального сбоя. Чтобы обеспечить непрерывность бизнеса, рекомендуется настроить учетную запись Azure Cosmos DB с одним регионом записи и по крайней мере вторым (чтением) регионом и включить отказоустойчивость, управляемую службой.

Автоматическое переключение, управляемое службой, позволяет Azure Cosmos DB выполнить переключение региона для записи с целью обеспечения непрерывности бизнес-процессов с риском потери данных, как было описано ранее в разделе «Устойчивость». Региональные аварийные переключения обнаруживаются и обрабатываются в клиенте Azure Cosmos DB. Они не требуют никаких изменений в приложении. Для получения инструкций по включению нескольких регионов чтения и отказоустойчивости, управляемой службой, см. статью "Управление учетной записью Azure Cosmos DB" с помощью портала Azure.

Внимание

Если вы выбрали конфигурацию записи в одном регионе с несколькими регионами чтения, мы настоятельно рекомендуем настроить учетные записи Azure Cosmos DB, используемые для рабочих нагрузок, чтобы включить управляемое службой переключение при сбое. Эта конфигурация позволяет Azure Cosmos DB обеспечивать отказоустойчивость баз данных аккаунта в доступные регионы. В отсутствие этой конфигурации учетная запись потеряет доступность записи в течение всего периода сбоя области записи. Ручное переключение не удастся из-за отсутствия подключения к региону.

Предупреждение

Даже если включена отказоустойчивость, управляемая службой, частичный сбой может потребовать ручного вмешательства команды Azure Cosmos DB. В этих сценариях переход на резервный ресурс может занять до 1 часа (или более), прежде чем он вступит в силу. Для повышения доступности записи во время частичных сбоев мы рекомендуем включить зоны доступности, а также использовать отказоустойчивость, управляемую службой.

Несколько регионов записи

Azure Cosmos DB можно настроить для приема записей в нескольких регионах. Эта конфигурация полезна для снижения задержки записи в географически распределенных приложениях.

При настройке учетной записи Azure Cosmos DB для нескольких регионов записи строгие согласованности не поддерживаются и могут возникнуть конфликты записи. Дополнительные сведения о том, как устранить эти конфликты, см. в разделе "Типы конфликтов" и политики разрешения конфликтов при использовании нескольких регионов записи.

Внимание

Обновление одного и того же идентификатора документа часто (или повторное создание одного и того же идентификатора документа часто после TTL или удаления) влияет на производительность репликации из-за увеличения числа конфликтов, созданных в системе.  

Регион для разрешения конфликтов

При настройке учетной записи Azure Cosmos DB с несколькими регионами один из регионов будет выступать в качестве арбитра в конфликтах при записи.

Рекомендации по записи в нескольких регионах

Ниже приведены некоторые рекомендации, которые следует учитывать при написании в нескольких регионах.

Оставляйте локальный трафик локальным

При использовании операций записи в множественных регионах приложение должно направлять трафик чтения и записи, исходящий из локального региона, непосредственно в локальный регион Cosmos DB. Для оптимальной производительности избежать вызовов между регионами.

Важно, чтобы приложение свести к минимуму конфликты, избегая следующих антипаттернов:

  • Отправка одной и той же операции записи во все регионы, чтобы повысить вероятность получения быстрого времени отклика

  • Случайное определение целевого региона для операции чтения или записи на основе каждого запроса

  • Использование политики циклического перебора для определения целевого региона для операции чтения или записи на основе каждого запроса.

Избегайте зависимости от задержки репликации

Нельзя настроить учетные записи с возможностью записи в нескольких регионах для обеспечения сильной согласованности. Регион, в который производится запись, реагирует сразу после того, как Azure Cosmos DB выполняет локальную репликацию данных, одновременно асинхронно реплицируя данные глобально.

Хотя это редко, задержка репликации может возникать на одной или нескольких секциях при георепликации данных. Задержка репликации может возникать из-за редкого сбоя в сетевом трафике или более высоких уровней разрешения конфликтов.

Например, архитектура, в которой приложение записывает данные в регион A, но считывает из региона B, представляет зависимость от задержки репликации между двумя регионами. Однако если приложение считывает и записывает данные в тот же регион, производительность остается постоянной даже в присутствии задержки репликации.

Оценка использования согласованности сеансов для операций записи

В согласованности сеансов используется маркер сеанса для операций чтения и записи.

Для операций чтения Azure Cosmos DB отправляет кэшированный маркер сеанса на сервер с гарантией получения данных, которые соответствуют указанному (или более последнему) токену сеанса.

Для операций записи Azure Cosmos DB отправляет маркер сеанса в базу данных с гарантией сохранения данных только в том случае, если сервер синхронизировался с предоставленным маркером сеанса. Учетные записи с записью в одном регионе гарантируют, что регион записи всегда синхронизируется с маркером сеанса. Однако в учетных записях с несколькими регионами регион, в который вы записываете, может быть не успеет за обновлениями, выполненными в другом регионе. Если клиент записывает данные в регион A с маркером сеанса из региона B, регион A не сможет сохранять данные, пока не догонит изменения, внесенные в регионе B.

Рекомендуется использовать маркеры сеанса только для операций чтения, а не для операций записи при передаче маркеров сеанса между экземплярами клиента.

Смягчение частых обновлений одного и того же документа

Обновления сервера для разрешения или подтверждения отсутствия конфликтов могут столкнуться с записью, запущенной приложением при повторном обновлении одного документа. Повторяющиеся обновления в быстром последовательности в одном документе испытывают более высокую задержку во время разрешения конфликтов.

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

Сбои при чтении и записи

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

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

Настройка Перерыв в работе Влияние на доступность Влияние на устойчивость Что следует делать
Один регион записи Сбой региона чтения Все клиенты автоматически перенаправляют операции чтения в другие регионы. Для всех конфигураций нет потери доступности чтения или записи. Исключением является конфигурация двух регионов с высокой степенью согласованности, которая теряет возможность записи до восстановления службы. Или, если вы включите управление отказоустойчивостью службой, служба помечает регион как отказавший, и происходит переключение. Потери данных нет. Во время сбоя убедитесь, что в оставшихся регионах достаточно выделенных единиц запросов для поддержки трафика чтения.

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

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

При отказе, управляемом сервисом, клиенты испытывают потерю доступности для записи до тех пор, пока сервис не выполнит отработку отказа в новый регион записи, который был вами выбран.
Если уровень строгой согласованности не выбран, служба может не реплицировать некоторые данные в оставшиеся активные регионы. Эта репликация зависит от выбранного уровня согласованности. Если затронутый регион подвергается постоянной потере данных, вы можете потерять не реплицированные данные. Во время сбоя убедитесь, что в остальных регионах выделено достаточное количество RUs для поддержки трафика чтения.

Не активируйте отработку отказа вручную во время сбоя, так как она не может завершиться успешно.

Когда сбой закончится, перенастройте подготовленные ЕЗ соответствующим образом. Учетные записи, использующие API для NoSQL, также могут восстановить не реплицированные данные в неисправном регионе из потока конфликтов.
Несколько регионов записи Любая региональная неполадка Существует возможность временной потери доступности записи, которая аналогична одному региону записи с управляемым службой переключением на резервный. Переключение на резервный регион разрешения конфликтов также может привести к потере доступности записи, если во время сбоя происходит большое количество конфликтующих операций записи. Недавно обновленные данные в регионе сбоя могут быть недоступны в оставшихся активных регионах в зависимости от выбранного уровня согласованности. Если затронутый регион столкнется с постоянной потерей данных, вы можете потерять не реплицированные данные. Во время сбоя убедитесь, что в остальных регионах достаточно подготовленных единиц ЕЗ для поддержки большего трафика.

Когда сбой закончится, вы можете соответствующим образом перенастроить выделенные RUs. По возможности Azure Cosmos DB автоматически восстанавливает нереплицированные данные в неисправном регионе. Это автоматическое восстановление использует метод разрешения конфликтов, настроенный для учетных записей, использующих API для NoSQL. Для учетных записей, использующих другие API, это автоматическое восстановление использует принцип последняя запись имеет приоритет.

Дополнительные сведения о сбоях в областях чтения данных

  • Затронутый регион отключен и обозначен как отключенный от сети. SDK Azure Cosmos DB перенаправляют вызовы чтения в следующий доступный регион в списке предпочтения регионов.

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

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

  • Последующие операции чтения перенаправляются в восстановленный регион без каких-либо изменений в коде приложения. При отказе и повторном подключении к ранее неудавшемуся региону, Azure Cosmos DB продолжает гарантировать соблюдение гарантий согласованности при чтении.

  • Даже в редких и неблагоприятных случаях, когда регион записи Azure безвозвратно неисправим, нет потери данных, если ваша учетная запись Azure Cosmos DB с несколькими регионами настроена с сильной согласованностью. Учетная запись Azure Cosmos DB с несколькими регионами имеет характеристики устойчивости, указанные ранее в разделе "Устойчивость ".

Дополнительные сведения о сбоях регионов записи

  • Во время сбоя региона записи учетная запись Azure Cosmos DB повышает статус дополнительного региона до нового основного региона записи, если настроена служебная настройка отработки отказа в учетной записи Azure Cosmos DB. Переключение на резерв происходит в определённый регион в порядке приоритета региона, который вы указываете.

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

  • Когда затронутый ранее регион вернулся в сеть, все данные записи, которые не были реплицированы при сбое региона, будут доступны через канал конфликтов. Приложения могут считывать поток конфликтов, разрешать конфликты в соответствии с логикой конкретного приложения и записывать обновленные данные обратно в контейнер Azure Cosmos DB соответствующим образом.

  • После восстановления ранее затронутого региона записи он будет отображаться как "онлайн" в портал Azure и станет доступным как регион чтения. На этом этапе безопасно вернуться в восстановленный регион в качестве региона записи с помощью [PowerShell, Azure CLI или портала Azure](/azure/cosmos-db/how-to-manage-database-account#perform-manual-failover-on-an-azure-cosmos-db-account). До, в момент и после переключения области записи потери данных или доступности нет. Приложение сохраняет высокий уровень доступности.

Предупреждение

В случае сбоя региона записи, когда учетная запись Azure Cosmos DB повышает уровень дополнительного региона в качестве нового основного региона записи с помощью управляемого службой отказоустойчивого перехода, исходная область записи не будет автоматически повышена обратно в регион записи после восстановления. Вам нужно вернуться к восстановленному региону в качестве региона записи с помощью PowerShell, Azure CLI или портал Azure (как только безопасно сделать это, как описано выше).

Обнаружение сбоев, уведомление и управление

Для учетных записей с одним регионом клиенты испытывают потерю доступности чтения и записи во время сбоя региона Azure Cosmos DB. Учетные записи, охватывающие несколько регионов, имеют различные особенности, как описано в следующей таблице.

Записать регионы Переключение при отказе, управляемое службой Чего следует ожидать Что следует делать
Один регион записи Не включено Если в регионе чтения возникает сбой, когда вы не используете надежную согласованность, все клиенты перенаправляются в другие регионы. Нет потери доступности чтения или записи, и нет потери данных. При использовании строгой согласованности сбой в регионе чтения может повлиять на доступность записи, если доступно менее двух регионов чтения.

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

Azure Cosmos DB восстанавливает доступность записи при завершении сбоя.
Во время сбоя обеспечьте достаточную емкость единиц запроса (RUs) в остальных регионах для обеспечения возможности чтения.

Не рекомендуется активировать ручную отработку отказа во время сбоя, так как это не увенчается успехом.

Когда сбой закончится, перенастроите подготовленные ЕЗ в соответствии с соответствующим образом.
Один регион записи Включен Если в регионе чтения возникает сбой, когда вы не используете надежную согласованность, все клиенты перенаправляются в другие регионы. Нет потери доступности чтения или записи, и нет потери данных. При использовании строгой согласованности отказ региона чтения может повлиять на возможность записи, если остаётся доступными менее двух регионов чтения.

Если в регионе записи произошел сбой, клиенты испытывают потерю доступности записи, пока Azure Cosmos DB не выберет новый регион в качестве нового региона записи в соответствии с вашими предпочтениями. Если вы не выбрали надежную согласованность, служба может не реплицировать некоторые данные в оставшиеся активные регионы. Эта репликация зависит от выбранного уровня согласованности. Если затронутый регион подвержен постоянной потере данных, вы можете потерять нереплицированные данные.
Во время сбоя обеспечьте достаточное количество выделенных ресурсов (RUs) в оставшихся регионах для поддержки трафика чтения.

Не выполняйте переключение вручную во время сбоя, потому что это не может быть успешным.

Когда сбой закончится, вы можете перенести регион записи обратно в исходный регион и перенастроить зарезервированные RUs соответствующим образом. Учетные записи, использующие API для NoSQL, также могут восстановить не реплицированные данные в неисправном регионе из канала конфликтов.
Несколько регионов записи Не применимо Недавно обновленные данные в регионе с ошибкой могут быть недоступны в оставшихся активных регионах. В конечном счёте, согласованный префикс и уровни согласованности сеансов гарантируют устаревание не более 15 минут. Ограниченное устаревание гарантирует меньше K обновлений или секунд T в зависимости от конфигурации. Если затронутый регион подвержен безвозвратной потере данных, вы можете потерять данные, не имеющие резервных копий. Во время сбоя убедитесь, что в оставшихся регионах достаточно предусмотренных RUs для поддержки увеличенного трафика.

Когда сбой закончится, вы можете перенастроить выделенные RUs соответствующим образом. По возможности Azure Cosmos DB восстанавливает нереплицированные данные в неисправном регионе. Это восстановление использует метод разрешения конфликтов, настроенный для учетных записей, использующих API для NoSQL. Для учетных записей, использующих другие API, это восстановление использует последняя запись выигрывает.

Тестирование высокого уровня доступности

Даже если ваша учетная запись Azure Cosmos DB высокодоступна, приложение может быть неправильно разработано для обеспечения высокой доступности. Чтобы проверить сквозную проверку высокой доступности приложения в рамках тестирования приложений или учений по аварийному восстановлению, временно отключите сервисное управление переходом на резерв для учетной записи. Вызовите ручной отказ с использованием PowerShell, Azure CLI или портала Azure, а затем следите за вашим приложением. После завершения теста вы можете вернуться обратно в основной регион и восстановить управляемое службой переключение отказа для учетной записи.

Внимание

Не выполняйте ручное переключение при сбое Azure Cosmos DB ни в исходном, ни в целевом регионе. Переключение на резервный узел вручную требует подключения к регионам для поддержания согласованности данных, поэтому выполнение не удастся.