Как работает Azure Web PubSub

Завершено

Служба Azure Web PubSub помогает создавать веб-приложения для обмена сообщениями в режиме реального времени. Клиенты подключаются к службе по стандартному протоколу WebSocket, а служба предоставляет REST API и пакеты SDK для управления этими клиентами.

Ниже приведены несколько терминов, с которыми необходимо ознакомиться:

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

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

  • Группа — это подмножество подключений к центру. Клиентское соединение можно добавлять к группе или удалять из нее в любое время. Например, когда клиент присоединяется к комнате чата или когда клиент покидает комнату чата, ее можно считать группой. Клиент может присоединиться к множеству групп, а группа может содержать множество клиентов.

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

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

Иллюстрация работы:

Workflow of Azure Web PubSub.

  1. Клиент подключается к конечной точке службы /client с помощью транспорта WebSocket. Служба перенаправит каждый кадр WebSocket на настроенный сервер вышестоящий. Подключение WebSocket может подключаться к любому пользовательскому подпротоколу для сервера, который будет обрабатываться, или он может подключаться к поддерживаемым службам подпротокола (например json.webpubsub.azure.v1), которые позволяют клиентам выполнять работу PubSub напрямую. Подробности см. в разделе Протокол клиента.

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

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

В следующем уроке изучите, когда следует использовать Azure Web PubSub.