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