Геоизбыточное реплика в Azure SignalR

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

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

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

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

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

Contoso — это компания социальных сетей с базой клиентов, распространяемой по всей территории США и Канады. Чтобы обслуживать этих клиентов и разрешать им взаимодействовать друг с другом, Contoso выполняет свои службы в центральной части США. Служба Azure SignalR используется для обработки подключений пользователей и упрощения взаимодействия между пользователями. Конечные пользователи Компании Contoso в основном являются пользователями телефонов. Из-за длинных географических расстояний конечные пользователи в Канаде могут столкнуться с высокой задержкой и плохим качеством сети.

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

До появления функции гео-реплика tion Contoso может настроить еще один Служба Azure SignalR в Канаде Central для обслуживания своих канадских пользователей. Настроив географически ближе Служба Azure SignalR, конечные пользователи теперь имеют более высокое качество сети и низкую задержку.

Однако управление несколькими Служба Azure SignalR приводит к некоторым проблемам:

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

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

Использование гео-реплика

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

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

Создание реплика SignalR

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

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

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

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

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

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

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

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

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

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

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

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

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

Общие сведения о работе реплика SignalR

На следующей схеме представлена краткая иллюстрация функциональных возможностей реплик SignalR:

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

  1. Клиент ведет переговоры с сервером приложений и получает перенаправление в службу Azure SignalR. Затем она разрешает полное доменное имя службы SignalR (FQDN). contoso.service.signalr.net Это полное доменное имя указывает на Диспетчер трафика, которая возвращает каноническое имя (CNAME) ближайшего регионального экземпляра SignalR.
  2. С помощью этого CNAME клиент устанавливает подключение к региональному экземпляру (реплике).
  3. Два реплика будут синхронизировать данные друг с другом. При необходимости сообщения, отправленные одному реплика, будут переданы другим реплика.
  4. В случае сбоя реплика работоспособности проверка, проведенной Диспетчер трафика (TM), TM исключит конечную точку неудачного экземпляра из процесса разрешения домена. Дополнительные сведения см. в разделе " Устойчивость и аварийное восстановление"

Примечание.

  • В плоскости данных основная функция ресурсов Azure SignalR идентична реплика

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

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

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

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

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

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

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

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

Для подключений к серверу отработка отказа и восстановление работают так же, как и для клиентских подключений.

Примечание.

  • Этот механизм отработки отказа предназначен для службы Azure SignalR. Региональные сбои сервера приложений выходят за область этого документа.

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

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

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

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

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

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

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

Примечание.

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

Влияние на производительность после добавления реплика

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

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

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

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