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


Георепликация в Azure Web PubSub

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

Преимущества использования георепликации

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

Необходимые компоненты

  • Ресурс Web PubSub на уровне "Премиум".

Примеры использования

Contoso, компания социальных сетей

Contoso — это компания социальных сетей с базой клиентов, распространяемой по всей территории США и Канады. Contoso предоставляет пользователям мобильное и веб-приложение, чтобы они могли взаимодействовать друг с другом. Приложение Contoso развертывается в центральной части США. В рамках архитектуры Contoso web PubSub используется для установления постоянных подключений WebSocket между клиентскими приложениями и сервером приложений. Компания Contoso любит , что они могут выгрузить подключения WebSocket к Web PubSub, но не любит читать отчеты пользователей в Канаде с более высокой задержкой. Кроме того, команда разработчиков Компании Contoso хочет заверить приложение от регионального сбоя, чтобы пользователи могли получить доступ к приложению без прерываний.

Схема использования одного экземпляра Azure WebPubSub для обработки трафика из двух стран.

Компания Contoso может настроить другой ресурс Web PubSub в Канаде Central, который географически ближе к пользователям в Канаде. Однако управление несколькими ресурсами Web PubSub приводит к некоторым проблемам:

  1. Необходимо реализовать механизм обмена данными между регионами, чтобы пользователи в Канаде и США могли взаимодействовать друг с другом.
  2. Группе разработчиков потребуется управлять двумя отдельными ресурсами Web PubSub, каждый из которых имеет отдельный домен и строка подключения.
  3. Если происходит региональный сбой, трафик должен быть направлен на доступный ресурс.

Все перечисленные выше ресурсы инженерных технологий не сосредоточены на инновациях в продукте.

Схема использования двух экземпляров Azure Web PubSub для обработки трафика из двух стран.

Использование функции георепликации

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

Схема использования одного экземпляра Azure Web PubSub с репликой для обработки трафика из двух стран.

Включение георепликации в ресурсе Web PubSub

Чтобы создать реплику в регионе Azure, перейдите к ресурсу Web PubSub и найдите колонку "Реплики" в портал Azure и нажмите кнопку "Добавить", чтобы создать реплику.

Снимок экрана: создание реплики для Azure Web PubSub на портале.

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

Снимок экрана: колонка обзора ресурса реплики Azure Web PubSub.

Цены и единица ресурсов

Каждая реплика имеет собственный unit и .autoscale settings

Реплика — это функция уровня "Премиум" службы Azure Web PubSub. Каждая реплика выставляется отдельно в соответствии с собственными единицами и исходящим трафиком. Квота бесплатного сообщения также вычисляется отдельно.

В предыдущем примере Contoso добавила одну реплику в Канаде Central. Компания Contoso будет платить за реплику в Центральной Канаде в соответствии с его единицей и сообщением в ценовой категории "Премиум".

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

Удаление реплики

После создания реплики для ресурса Web PubSub его можно удалить в любое время, если он больше не нужен.

Чтобы удалить реплику на портале Azure, сделайте следующее:

  1. Перейдите к ресурсу Web PubSub и выберите колонку "Реплики ". Щелкните реплику, которую вы хотите удалить.
  2. Нажмите кнопку "Удалить" в колонке обзора реплики.

Чтобы удалить реплику с помощью Azure CLI, выполните следующие действия.

 az webpubsub replica delete --replica-name MyReplica --name MyWebPubSub -g MyResourceGroup

Узнайте, как работает функция георепликации

Схема арки реплики Azure Web PubSub.

  1. Клиент разрешает полное доменное имя службы contoso.webpubsub.azure.com Web PubSub. Это полное доменное имя указывает на Диспетчер трафика, которая возвращает каноническое имя (CNAME) ближайшего регионального экземпляра Web PubSub.
  2. С помощью этого CNAME клиент устанавливает подключение websocket к региональному экземпляру (реплике).
  3. Две реплики синхронизируют данные друг с другом. При необходимости сообщения, отправленные на одну реплику, будут передаваться другим репликам.
  4. Если реплика завершается ошибкой проверки работоспособности, проведенной Диспетчер трафика (TM), TM исключит конечную точку неудачного экземпляра из результатов разрешения домена. Дополнительные сведения см. в разделе " Устойчивость и аварийное восстановление"

Примечание.

  • В плоскости данных первичные функции ресурсов Azure Web PubSub идентичны своим репликам.

Устойчивость и аварийное восстановление

Служба Azure Web PubSub использует диспетчер трафика для проверок работоспособности и разрешения DNS для реплик. При нормальных обстоятельствах, когда все реплики работают правильно, клиенты будут направляться к ближайшей реплике. Например:

  • Клиенты, близкие к eastus реплике, будут перенаправлены на реплику, расположенную в eastus.
  • Аналогичным образом клиенты, близкие к westus реплике, будут направляться в westusреплику.

В случае регионального сбоя на востоке (показано ниже), диспетчер трафика обнаружит сбой проверки работоспособности для этого региона. Затем DNS этой неисправной реплики будет исключена из результатов разрешения DNS диспетчера трафика. После длительности времени жизни DNS (TTL), установленного на 90 секунд, клиенты eastus будут перенаправлены для подключения к реплике.westus

Схема отработки отказа реплики Azure Web PubSub.

После устранения проблемы eastus и подключения региона к сети проверка работоспособности завершится успешно. Клиенты в eastus этом случае снова будут направляться в реплику в своем регионе. Этот переход является гладким, так как подключенные клиенты не будут затронуты до тех пор, пока существующие подключения не будут закрыты.

Схема восстановления отработки отказа реплики Azure Web PubSub.

Этот процесс отработки отказа и восстановления является автоматическим и не требует вмешательства вручную.

Отключение или включение конечной точки реплики

При настройке реплики можно включить или отключить конечную точку. Если он отключен, разрешение DNS-имени основного полного доменного имени не будет включать реплику, и поэтому трафик не будет направлен на него.

Схема параметра конечной точки реплики реплики Azure Web PubSub.

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

Схема изменения конечной точки реплики реплики Web PubSub в Azure.

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

Эта функция также полезна для устранения региональных проблем.

Примечание.

  • Из-за кэша DNS может потребоваться несколько минут, чтобы обновление DNS вступают в силу.
  • Существующие подключения остаются не затронутыми до тех пор, пока они не будут отключены.

Влияние на производительность после включения функции георепликации

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

В частности, если приложение обычно передается в более крупные группы (размер >10) или одно подключение, производительность синхронизации едва заметно. Если вы обменяете сообщениями небольшие группы (размер < 10), вы можете заметить немного больше затрат на синхронизацию.

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

Дополнительные сведения об оценке производительности см. в разделе "Производительность".