Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Azure Cosmos DB для PostgreSQL (на базе расширения Citus для PostgreSQL)
Высокий уровень доступности (HA) сокращает время простоя базы данных, сохраняя резервные реплики каждого узла в кластере. Если узел выходит из строя, Azure Cosmos DB for PostgreSQL переключает входящие подключения с проблемного узла на соответствующий резервный. Отказоустойчивое переключение выполняется в течение нескольких минут, и повышенные узлы всегда имеют свежие данные посредством синхронной потоковой репликации PostgreSQL.
Все основные узлы в кластере размещаются в одной зоне доступности для уменьшения задержки между узлами. Предпочтительная зона доступности позволяет поместить все узлы кластера в одну зону доступности, в которой развернуто приложение. Близость может дополнительно улучшить производительность, уменьшая задержку между приложением и базой данных. Резервные узлы подготавливаются в другую зону доступности. В портале Azure отображается зона доступности каждого основного узла в кластере. Вы также можете проверить зону доступности каждого узла в кластере с помощью одного из программных методов, таких как REST API.
Даже без включенной высокой доступности каждый узел имеет собственное локально избыточное хранилище (LRS) с тремя синхронными репликами, поддерживаемыми службой хранилища Azure. При сбое одной реплики служба хранилища Azure обнаруживает это и автоматически восстанавливает реплику. Сведения о надежности хранилища LRS см. в разделе метрик на этой странице.
При включении HA Azure Cosmos DB для PostgreSQL запускает резервный узел для каждого основного узла в кластере. Основная и резервная базы данных используют синхронную репликацию PostgreSQL. Такая репликация гарантирует клиентам предсказуемое время простоя в случае сбоя основного узла. В двух словах, наша служба обнаруживает сбой на основных узлах и переходит на резервные узлы без потери каких-либо данных.
Чтобы воспользоваться высокой доступностью на узле координатора, приложения баз данных должны обнаруживать прекращенные соединения и неудачные транзакции и повторять попытки их выполнения. Недавно повышенный координатор доступен с той же строкой подключения.
Состояния высокого уровня доступности
Восстановление можно разделить на три этапа: обнаружение, переключение на резерв и полное восстановление. Azure Cosmos DB для PostgreSQL выполняет периодические проверки работоспособности на каждом узле, и после четырех неудачных проверок он определяет, что узел отключен. Затем Azure Cosmos DB для PostgreSQL повышает состояние резервного подключения к основному узлу (отработка отказа) и создает новый резервный режим. Начинается потоковая репликация, приводящая новый узел в актуальное состояние. Когда завершится репликация всех данных, узел считается полностью восстановленным.
Azure Cosmos DB для PostgreSQL отображает состояние хода отработки отказа на странице обзора кластеров в портал Azure.
- Работоспособно: VD включена, и узел полностью реплицирован на резервный узел.
- Выполняется переключение на резервный узел: на основном узле обнаружена ошибка, и инициирована процедура переключения на резервный узел. Это состояние переходит в создание резервного режима после отработки отказа на резервный узел, а резервный — новый первичный.
- Создание резервного файла: предыдущий резервный файл повышен до основного, и для него создается новый резервный узел. Когда новая вторичная будет готова, это состояние переходит в репликация в процессе.
- Выполняется репликация: выполняется подготовка нового резервного узла и синхронизация данных После репликации всех данных в новый резервный режим синхронная репликация включена между основными и резервными узлами, а состояние узлов переходит обратно в "Работоспособное".
- Нет: отказоустойчивость (HA) не включена на этом узле.
Следующие шаги
- Узнайте, как включить высокий уровень доступности в кластере.
- Узнайте о зонах доступности в Azure Cosmos DB для PostgreSQL.