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


Репликация между регионами в Azure Cosmos DB для виртуального ядра MongoDB

Область применения: Виртуальные ядра MongoDB

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

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

Реплики — это новые кластеры, которыми вы управляете как обычными кластерами. За каждую реплику чтения выставляется счет с учетом подготовленных вычислительных ресурсов (количество виртуальных ядер) и хранилища (ГБ/месяц). Затраты на вычисления и хранение для кластеров реплик имеют ту же структуру, что и обычные кластеры и цены на регион Azure, где они создаются.

Аварийное восстановление с помощью реплик чтения кластера

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

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

Непрерывные операции записи, операции чтения на репликах кластера и строки подключения

Глобальная строка подключения для чтения и записи в Azure Cosmos DB для MongoDB всегда направляет записи в активный кластер для записи. При инициировании повышения уровня кластера реплики кластер реплики в регионе B переключится в режим записи, а исходный основной кластер в регионе A переходит в режим только для чтения. Перед переключением глобальная строка подключения чтения и записи предназначена для основного кластера в Регионе А, а затем обновляется, чтобы указать на Регион В, так как он принимает на себя обязанности по записи. Для приложений с глобальной строкой подключения для чтения и записи операции записи продолжаются без перебоев в процессе повышения, обеспечивая непрерывный поток данных.

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

Снимок экрана строк подключения к кластеру Azure Cosmos DB для MongoDB (vCore), включая строки подключения для глобального чтения и записи и строки подключения для самостоятельного использования.

При создании реплики путем включения репликации между регионами он не наследует параметры сети, такие как правила брандмауэра основного кластера. Эти параметры должны быть настроены независимо для реплики. Реплика наследует учетную запись администратора от основного кластера. Учетные записи пользователей должны управляться в основном кластере. Вы можете подключиться к основному кластеру и его кластеру реплики, используя те же учетные записи пользователей.

Промоция кластера реплики

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

  1. Записи на реплике в регионе B включены в дополнение к считываниям. Бывшая реплика становится новым кластером чтения и записи.
  2. Кластер повышенной реплики в регионе B принимает записи через свои строки подключения, а также через глобальную строку подключения для чтения и записи.
  3. Кластер в регионе A установлен в режим только для чтения и сохраняет строку подключения.

Внимание

Так как репликация асинхронна, некоторые данные из кластера в регионе A могут не реплицироваться в регион B при повышении реплики кластера в регионе B. Если это так, повышение приведет к тому, что нереплицированные данные не присутствуют в обоих кластерах.