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


Устойчивость зоны доступности в 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 поддерживает зоны доступности, все эти компоненты службы настроены для избыточности AZ. Это означает, что все компоненты службы Azure Cosmos DB для PostgreSQL могут поддерживать сбой az, или другими словами, устойчивы к одному сбою AZ.

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

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

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

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

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

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

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

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

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