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


Служебная шина Azure геоизбыточное восстановление

Функция геокадрового восстановления служебная шина является одним из вариантов изоляции приложений Служебная шина Azure от сбоев и аварий, а также в первую очередь направлена на сохранение целостности составной конфигурации приложения.

Примечание.

Эта функция доступна для уровня "Премиум" Служебная шина Azure.

Функция геоизбыточного восстановления гарантирует, что вся конфигурация пространства имен (сущности, конфигурация, свойства) постоянно реплицируется из основного пространства имен в дополнительное пространство имен, с которым она связана, и позволяет инициировать однократный переход от отработки отказа из основного в дополнительный в любой момент. Перемещение отработки отказа перенаправляет выбранное имя псевдонима для пространства имен в дополнительное пространство имен, а затем прерывает связывание. После инициации отработка отказа происходит почти мгновенно.

Важные факторы, которые следует принять во внимание

  • Эта функция обеспечивает мгновенную непрерывность операций с такой же конфигурацией, но не реплицирует сообщения, хранящиеся в очередях или подписках разделов или очередях недоставленных сообщений. Для сохранения семантики очереди такая репликация требует не только репликации данных сообщений, но и каждого изменения состояния в брокере, которое предлагается в функции георепликации (общедоступная предварительная версия).
  • Назначения управления доступом на основе ролей (RBAC) Microsoft Entra для служебная шина сущностей в основном пространстве имен не реплицируются в дополнительное пространство имен. Создайте назначения ролей в дополнительном пространстве имен вручную, чтобы защитить доступ к этим сущностям.
  • Следующие конфигурации не реплицируются.
    • Конфигурации виртуальной сети
    • Подключения частных конечных точек
    • Включенный доступ ко всем сетям
    • Включенный доступ к доверенной службе
    • Доступ из общедоступной сети
    • Действие сети по умолчанию
    • Удостоверения и параметры шифрования (шифрование ключей, управляемых клиентом, или создание собственных ключей (BYOK))
    • Включить автомасштабирование
    • Отключение локальной проверки подлинности
    • подписки Сетка событий Azure
  • Связывание секционированного пространства имен с несекционным пространством имен не поддерживается.
  • Если AutoDeleteOnIdle для сущности включена, сущность может не присутствовать в дополнительном пространстве имен при отработке отказа. Когда вторичный становится первичным, состояние последнего доступа, которое не является частью метаданных, не будет доступно для новой первичной и сущности может быть удалено в рамках AutoDeleteOnIdle очистки.

Совет

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

Основные понятия и термины

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

В этом руководстве используются термины, представленные ниже.

  • Псевдоним. Имя настроенной конфигурации аварийного восстановления. Псевдоним предоставляет единую стабильную строку подключения полного доменного имени (FQDN). Приложения используют ее для подключения к пространству имен. Использование псевдонимов гарантирует, что строка подключения не изменится, когда активируется отработка отказа.

  • Основное или дополнительное пространство имен. Пространство имен, соответствующее псевдониму. Основное пространство имен — "активно" и получает сообщения (это может быть существующее или новое пространство имен). Дополнительное пространство имен является "пассивным" и не получает сообщений. Метаданные между ними синхронизированы, поэтому они могут беспрепятственно принимать сообщения без каких-либо изменений кода или строки подключения приложения. Чтобы убедиться, что только активное пространство имен получает сообщения, необходимо использовать псевдоним.

  • Метаданные. Сущности, такие как очереди, разделы и подписки, и их свойства службы, связанные с пространством имен. Только сущности и их параметры реплицируются автоматически. Сообщения не реплицируются.

  • Отработка отказа: процесс активации дополнительного пространства имен.

Настройка

В следующем разделе рассматривается настройка парных пространств имен.

Снимок экрана: настройка связывания с геоагентным восстановлением.

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

  1. Создайте основное пространство имен уровня "Премиум".

  2. Создайте дополнительное пространство имен уровня "Премиум" в другом регионе. Этот шаг необязательный. Вы можете создать дополнительное пространство имен при сопряжении на следующем шаге.

  3. На портале Microsoft Azure перейдите к основному пространству имен.

  4. Выберите "Геовосстановления " в меню слева и выберите " Инициировать связывание " на панели инструментов.

    Снимок экрана: страница

  5. Выполните следующие действия на странице Инициировать связывание.

    1. Выберите существующее дополнительное пространство имен или создайте его в другом регионе. В этом примере в качестве вспомогательного пространства имен используется существующее пространство имен.

    2. В поле "Псевдоним" введите псевдоним для связывания геокатастерного восстановления.

    3. Затем выберите Создать.

      Снимок экрана: страница

  6. Должна отобразиться страница псевдонима служебной шины Microsoft Azure Geo-Dr, как показано на следующем рисунке. Вы также можете перейти на страницу "Псевдоним географического аварийного восстановления" на главной странице пространства имен, выбрав геовосстановление в меню слева.

    Снимок экрана, на котором показана страница служебная шина

  7. На странице Псевдоним Geo-DR выберите Политики общего доступа в меню слева, чтобы получить доступ к основной строке подключения для псевдонима. Используйте эту строку соединения вместо строки подключения напрямую к основному или дополнительному пространству имен. Изначально псевдоним указывает на основное пространство имен.

  8. Перейдите на страницу Обзор. Доступны следующие действия.

    1. Разорвать связь между основным и вспомогательным пространствами имен. Выберите Разорвать связь на панели инструментов.
    2. Выполните переход в дополнительное пространство имен вручную.
      1. Выберите Отработка отказа на панели инструментов.

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

      3. Включите параметр безопасной отработки отказа, чтобы безопасно выполнить отработку отказа в дополнительное пространство имен.

        Примечание.

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

        Снимок экрана: страница отработки отказа.

        Внимание

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

  9. Наконец, следует добавить некоторые функции мониторинга, чтобы определить, необходимо ли выполнять отработку отказа. В большинстве случаев служба — это одна из частей большой экосистемы, поэтому автоматический переход на другой ресурс не всегда возможен, так как отработки отказа следует выполнять синхронно с оставшимися подсистемами или инфраструктурой.

Служебная шина от стандартной до премиум

Если вы перенесли пространство имен Служебная шина Azure уровня "Стандартный" в Служебная шина Azure Premium, необходимо использовать предварительно существующий псевдоним (т. е. служебная шина стандартное пространство имен строка подключения), чтобы создать конфигурацию аварийного восстановления с помощью PS/CLI или REST API.

Это связано с тем, что во время миграции Служебная шина Azure стандартное пространство имен строка подключения/DNS-имя становится псевдонимом в Служебная шина Azure пространстве имен premium.

Клиентские приложения должны использовать этот псевдоним (то есть Служебная шина Azure стандартное пространство имен строка подключения) для подключения к пространству имен класса Premium, в котором была настроена пара аварийного восстановления.

Если вы используете портал Azure для настройки конфигурации аварийного восстановления, портал абстрагирует эту оговорку от вас.

Поток отработки отказа

Отработка отказа активируется клиентом вручную (явно командой или посредством клиента с бизнес-логикой, которая выполняет команду), а не Azure. Это дает клиенту полный контроль и видимость для устранения сбоя на платформе Azure.

Изображение, показывающее поток отработки отказа из первичного в дополнительное пространство имен.

После активации отработки отказа происходит следующее.

  1. Строка подключения с псевдонимом обновляется и указывает на дополнительное пространство имен ценовой категории "Премиум".

  2. Клиенты (отправители и получатели) автоматически подключаются к дополнительному пространству имен.

  3. Существующая связь между основным и дополнительным пространствами имен ценовой категории "Премиум" разрывается.

После инициирования отработки отказа происходит следующее.

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

  2. Извлеките сообщения из прежнего основного пространства имен, как только оно станет доступным. После этого используйте это пространство имен для регулярного обмена сообщениями за пределами настройки геокатастирного восстановления или удалите старое основное пространство имен.

Примечание.

Поддерживается только семантика переадресации сбоя. В этом сценарии выполняется отработка отказа, а затем повторное связывание с новым пространством имен. Отработка отказа не поддерживается; Например, например, в кластере SQL.

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

Изображение, показывающее, как автоматизировать отработку отказа.

Управление

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

Использование имеющихся пространств имен в качестве псевдонима

При наличии сценария, в котором невозможно изменить подключения отправителей и потребителей, можно повторно использовать имя пространства имен в качестве псевдонима. Дополнительные сведения см. в примере кода на GitHub.

Примеры

В примере из GitHub показано, как настроить и инициировать отработку отказа. В этих примерах демонстрируются следующие понятия:

  • Пример и параметры .NET, необходимые в идентификаторе Microsoft Entra для использования Azure Resource Manager с служебная шина, для настройки и включения геокадрового восстановления.
  • шаги, необходимые для выполнения примера кода;
  • Использование имеющегося пространства имен в качестве псевдонима.
  • Действия по включению геокатастасного восстановления с помощью PowerShell или CLI.
  • Отправка и получение из текущего основного и дополнительного пространства имен с помощью псевдонима.

Рекомендации

Обратите внимание на следующие моменты для этого выпуска:

  • При планировании отработки отказа следует также учитывать фактор времени. Например, в случае потери подключения на более чем 15–20 минут можно запустить отработку отказа.
  • Тот факт, что данные не реплицируются, означает, что в настоящее время активные сеансы не реплицируются. Кроме того, могут не работать повторяющиеся сообщения и сообщения, запланированные. Новые сеансы, новые запланированные сообщения и новые повторяющиеся работы.
  • Отработку отказа сложной распределенной инфраструктуры необходимо протестировать по крайней мере один раз.
  • Синхронизация сущностей может занять некоторое время (примерно 50–100 сущностей в минуту). Подписки и правила также учитываются как сущности.

Частные конечные точки

В этом разделе приведены дополнительные рекомендации по использованию геокатасного восстановления с пространствами имен, использующими частные конечные точки. Дополнительные сведения об использовании частных конечных точек со Служебной шиной см. в статье Интеграция Служебной шины Azure с Приватным каналом Azure.

Новые пары

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

Примечание.

При попытке связать основное пространство имен с частной конечной точкой и дополнительное пространство имен проверяется только, существует ли частная конечная точка в дополнительном пространстве имен. Он не проверяет, работает ли конечная точка или работает после отработки отказа. Вы несете ответственность за то, чтобы дополнительное пространство имен с частной конечной точкой работало должным образом после отработки отказа.

Чтобы проверить, совпадают ли конфигурации частных конечных точек, отправьте запрос Получить очереди к дополнительному пространству имен из-за пределов виртуальной сети и убедитесь, что служба выдает сообщение об ошибке.

Существующие пары

Если связывание между основным и вторичным пространством имен уже существует, создание частной конечной точки в основном пространстве имен завершается ошибкой. Чтобы устранить эту проблему, сначала создайте частную конечную точку в дополнительном пространстве имен, а затем — в основном.

Примечание.

Хотя мы допускаем доступ только для чтения к дополнительному пространству имен, обновление конфигураций частных конечных точек разрешено.

При создании конфигурации аварийного восстановления для приложения и Служебной шины необходимо создать частные конечные точки для основного и дополнительного пространств имен Служебной шины для виртуальных сетей, в которых размещаются как первичные, так и вторичные экземпляры приложения.

Предположим, что у вас есть две виртуальные сети: VNET-1, VNET-2 и эти первичные и вторичные пространства имен: ServiceBus-Namespace1-Primary, . ServiceBus-Namespace2-Secondary Сделайте следующее:

  • Создайте ServiceBus-Namespace1-Primaryдве частные конечные точки, использующие подсети из виртуальной сети-1 и виртуальной сети-2.
  • Создайте ServiceBus-Namespace2-Secondaryдве частные конечные точки, использующие одни и те же подсети из виртуальной сети-1 и виртуальной сети-2.

Частные конечные точки и виртуальные сети

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

Отработка отказа только приложений: здесь приложение не существует в виртуальной сети-1, но переходит к виртуальной сети-2. Так как частные конечные точки настроены как в виртуальной сети-1, так и в виртуальной сети-2 для основных и вторичных пространств имен, приложение просто работает.

служебная шина отработка отказа только пространства имен. Здесь снова, так как обе частные конечные точки настроены как в виртуальных сетях для основных, так и для вторичных пространств имен, приложение просто работает.

Примечание.

Рекомендации по геоизбыточное восстановление виртуальной сети см. в разделе виртуальная сеть — непрерывность бизнес-процессов.

Управление доступом на основе ролей

Назначения управления доступом на основе ролей (RBAC) Microsoft Entra для служебная шина сущностей в основном пространстве имен не реплицируются в дополнительное пространство имен. Создайте назначения ролей в дополнительном пространстве имен вручную, чтобы защитить доступ к этим сущностям.

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

Дополнительную информацию об обмене сообщениями через служебную шину см. в следующих статьях: