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


Устойчивость к сбоям зоны доступности в Azure Cosmos DB для PostgreSQL

Область применения: Azure Cosmos DB для PostgreSQL (с использованием расширения Citus для PostgreSQL)

Многие регионы Azure имеют зоны доступности. Зоны доступности (AZ) разделены группами центров обработки данных в пределах региона. Зоны доступности достаточно близки, чтобы иметь подключения с низкой задержкой к другим зонам доступности в пределах своего региона. Они подключены к высокопроизводительной сети с временем круглого пути менее 2 миллисекунд.

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

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

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

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

Когда регион Azure поддерживает зоны доступности, все эти компоненты службы настраиваются на обеспечение отказоустойчивости на уровне зон доступности. Это означает, что все компоненты службы Azure Cosmos DB для PostgreSQL могут переживать сбой AZ, или, другими словами, устойчивы к одному сбою AZ.

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

Влияние сбоя зоны доступности на кластеры с высоким уровнем доступности и без него

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

Если в кластере включена высокая доступность (HA), все первичные узлы создаются в одной ЗЦ, а все резервные узлы подготавливаются в другую ЗЦ. Узлы могут перемещаться между зонами доступности во время следующих событий:

  • Сбой возникает на основном узле с поддержкой высокого уровня доступности. В этом случае резервный узел первичного узла станет новым первичным, а AZ резервного узла станет новой AZ для этого первичного узла.
  • В кластере происходит запланированное обслуживание. В конце обслуживания все основные узлы в кластере будут находиться в одной и той же зоне доступности (AZ).

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

Вы всегда можете проверить зону доступности для каждого первичного узла с помощью портал Azure или с помощью программных методов, таких как REST API.

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

Следующие шаги