Azure Web PubSub 的運作方式
Azure Web PubSub 服務可協助您建置即時傳訊 Web 應用程式。 用戶端會使用標準 WebSocket 通訊協定來連線到該服務,而且該服務會公開 REST API 和 SDK 供您管理這些用戶端。
以下是您需要熟悉的一些用詞:
連線:連線也稱為用戶端或用戶端連線,代表個別 WebSocket 與 Web PubSub 服務的連線。 成功連線時,Web PubSub 服務會指派唯一的連線識別碼給這個連線。
中樞:中樞是一組用戶端連線的邏輯概念。 一個中樞通常會用於一個目的,例如聊天中樞或通知中樞。 用戶端連線在連線時會連線到中樞,且在其存留期內會屬於該中樞。 不同的應用程式可以使用不同的中樞名稱來共用一個 Azure Web PubSub 服務。
群組:群組是中樞連線的子集。 您可以隨時將用戶端連線新增至某個群組,或從群組中移除用戶端連線。 例如,當用戶端加入聊天室時,或當用戶端離開聊天室時,便可將此聊天室視為群組。 用戶端可以加入多個群組,群組則可以包含多個用戶端。
使用者:Web PubSub 的連線可以屬於一個使用者。 使用者可能會有多個連線,例如,當單一使用者跨多個裝置或多個瀏覽器索引標籤連線時。
訊息:當用戶端連線時,其可以透過 WebSocket 連線將訊息傳送至上游應用程式,或從上游應用程式接收訊息。
其運作方式的圖例如下:
用戶端會使用 WebSocket 傳輸來連線到服務
/client
端點。 服務會將每個 WebSocket 框架轉送到所設定的上游伺服器。 WebSocket 連線可使用任何自訂子通訊協定來連線以供伺服器處理,也可使用服務支援的子通訊協定 (例如json.webpubsub.azure.v1
) 來連線,讓用戶端能夠直接進行 PubSub。 用戶端通訊協定中會有詳細說明。在不同的用戶端事件上,服務會使用 CloudEvents 通訊協定叫用伺服器。 CloudEvents 會以標準化且與通訊協定無關的方式定義 Cloud Native Computing Foundation (CNCF) 所裝載事件的結構和中繼資料描述。 通訊協定通訊協定中會有詳細說明。
伺服器可以使用 REST API 叫用服務,以將訊息傳送至用戶端或管理已連線的用戶端。 通訊協定通訊協定中會有詳細說明。
在下一個單元中,請探索 Azure Web PubSub 的使用時機。