Azure Web PubSub 的運作方式

已完成

Azure Web PubSub 服務可協助您建置即時傳訊 Web 應用程式。 用戶端會使用標準 WebSocket 通訊協定來連線到該服務,而且該服務會公開 REST API 和 SDK 供您管理這些用戶端。

以下是您需要熟悉的一些用詞:

  • 連線:連線也稱為用戶端或用戶端連線,代表個別 WebSocket 與 Web PubSub 服務的連線。 成功連線時,Web PubSub 服務會指派唯一的連線識別碼給這個連線。

  • 中樞:中樞是一組用戶端連線的邏輯概念。 一個中樞通常會用於一個目的,例如聊天中樞或通知中樞。 用戶端連線在連線時會連線到中樞,且在其存留期內會屬於該中樞。 不同的應用程式可以使用不同的中樞名稱來共用一個 Azure Web PubSub 服務。

  • 群組:群組是中樞連線的子集。 您可以隨時將用戶端連線新增至某個群組,或從群組中移除用戶端連線。 例如,當用戶端加入聊天室時,或當用戶端離開聊天室時,便可將此聊天室視為群組。 用戶端可以加入多個群組,群組則可以包含多個用戶端。

  • 使用者:Web PubSub 的連線可以屬於一個使用者。 使用者可能會有多個連線,例如,當單一使用者跨多個裝置或多個瀏覽器索引標籤連線時。

  • 訊息:當用戶端連線時,其可以透過 WebSocket 連線將訊息傳送至上游應用程式,或從上游應用程式接收訊息。

其運作方式的圖例如下:

Workflow of Azure Web PubSub.

  1. 用戶端會使用 WebSocket 傳輸來連線到服務 /client 端點。 服務會將每個 WebSocket 框架轉送到所設定的上游伺服器。 WebSocket 連線可使用任何自訂子通訊協定來連線以供伺服器處理,也可使用服務支援的子通訊協定 (例如 json.webpubsub.azure.v1) 來連線,讓用戶端能夠直接進行 PubSub。 用戶端通訊協定中會有詳細說明。

  2. 在不同的用戶端事件上,服務會使用 CloudEvents 通訊協定叫用伺服器。 CloudEvents 會以標準化且與通訊協定無關的方式定義 Cloud Native Computing Foundation (CNCF) 所裝載事件的結構和中繼資料描述。 通訊協定通訊協定中會有詳細說明。

  3. 伺服器可以使用 REST API 叫用服務,以將訊息傳送至用戶端或管理已連線的用戶端。 通訊協定通訊協定中會有詳細說明。

在下一個單元中,請探索 Azure Web PubSub 的使用時機。