Гео-реплика tion в Azure Web PubSub

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

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

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

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

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

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

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

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

Diagram of using one Azure WebPubSub instance to handle traffic from two countries.

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

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

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

Diagram of using two Azure Web PubSub instances to handle traffic from two countries.

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

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

Diagram of using one Azure Web PubSub instance with replica to handle traffic from two countries.

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

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

Screenshot of creating replica for Azure Web PubSub on Portal.

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

Screenshot of overview blade of Azure Web PubSub replica resource.

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

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

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

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

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

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

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

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

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

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

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

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

Diagram of the arch of Azure Web PubSub replica.

  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

Diagram of Azure Web PubSub replica failover.

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

Diagram of Azure Web PubSub replica failover recovery.

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

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

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

Diagram of Azure Web PubSub replica endpoint setting.

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

Diagram of Azure Web PubSub replica endpoint modification.

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

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

Примечание.

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

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

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

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

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

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