Как работает Azure Web PubSub
Служба Azure Web PubSub помогает создавать веб-приложения для обмена сообщениями в режиме реального времени. Клиенты подключаются к службе по стандартному протоколу WebSocket, а служба предоставляет REST API и пакеты SDK для управления этими клиентами.
Ниже приведены несколько терминов, с которыми необходимо ознакомиться:
Подключение ion: подключение, которое также называется клиентом или подключением клиента, представляет отдельное подключение WebSocket к службе Web PubSub. После успешного подключения служба Web PubSub назначает этому соединению уникальный идентификатор соединения.
Центр — это логическая концепция для набора клиентских подключений. Обычно используется один центр для одной цели, например центр чатов или центр уведомлений. Когда клиентское соединение подключается, оно подключается к центру и на протяжении всего времени его существования оно принадлежит этому центру. Разные приложения могут совместно использовать одну службу Azure Web PubSub с использованием разных имен центров.
Группа — это подмножество подключений к центру. Клиентское соединение можно добавлять к группе или удалять из нее в любое время. Например, когда клиент присоединяется к комнате чата или когда клиент покидает комнату чата, ее можно считать группой. Клиент может присоединиться к множеству групп, а группа может содержать множество клиентов.
Пользователь — подключения к службе Web PubSub могут принадлежать одному пользователю. Пользователь может иметь множество подключений, например, если один пользователь подключен через несколько устройств или на нескольких вкладках браузера.
Сообщение. Когда клиент подключен, он может отправлять сообщения в вышестоящее приложение или получать сообщения от него через подключение WebSocket.
Иллюстрация работы:
Клиент подключается к конечной точке службы
/client
с помощью транспорта WebSocket. Служба перенаправит каждый кадр WebSocket на настроенный сервер вышестоящий. Подключение WebSocket может подключаться к любому пользовательскому подпротоколу для сервера, который будет обрабатываться, или он может подключаться к поддерживаемым службам подпротокола (напримерjson.webpubsub.azure.v1
), которые позволяют клиентам выполнять работу PubSub напрямую. Подробности см. в разделе Протокол клиента.Служба вызывает сервер с помощью протокола CloudEvents в различных событиях клиента. CloudEvents — это унифицированное и не зависящее от протокола определение структуры и метаданных для событий, размещенных в среде CNCF. Подробности см. в разделе Протокол сервера.
Сервер может вызвать службу с помощью REST API для отправки сообщений клиентам или управления подключенными клиентами. Подробности см. в разделе Протокол сервера.
В следующем уроке изучите, когда следует использовать Azure Web PubSub.