事件
什麼是 Azure Web PubSub 服務?
Azure Web PubSub 服務可讓您輕鬆地建置 Web 應用程式,其中伺服器和用戶端需要即時交換資料。 即時資料交換是特定時間敏感性應用程式開發人員建置和維護的基礎。 開發人員已使用各種應用程式和產業的服務,例如:聊天應用程式、即時儀表板、多玩家遊戲、線上拍賣、多使用者共同作業應用程式、位置追蹤、通知等等。
當應用程式的使用量很小時,開發人員通常會選擇輪詢機制,在伺服器和客戶端之間提供即時通訊 - 用戶端會在時間間隔內將重複的 HTTP 要求傳送至伺服器。 不過,開發人員通常會回報,雖然輪詢機制很容易實作,但有三個重大缺點。
- 資料過時。
- 資料不一致。
- 頻寬和計算資源浪費。
這些缺點是促使開發人員尋找替代方案的主要動機。 本文提供 Azure Web PubSub 服務的概觀,以及開發人員如何使用該服務來快速且大規模地建置即時通訊通道。
隨著最近對 AI 的興趣激增,Web PubSub 已成為開發人員為安全性權杖串流建置已啟用 AI 的應用程式的寶貴工具。 這項服務經過實戰測試,可調整為數千萬個並行連線,並提供超低延遲。
資料資源更新必須傳遞至整個網路其他元件的任何應用程式案例,都可以受益於使用 Azure Web PubSub。 如其名所示,此服務可以便利發行者與訂閱者之間的通訊。 發行者是發佈資料更新的元件。 訂閱者是訂閱資料更新的元件。
Azure Web PubSub 服務用於許多產業和應用程式案例,其中資料具有時間敏感性。 以下是一些常見使用案例的部分清單。
使用案例 | 範例應用程式 |
---|---|
高頻率的資料更新 | 多玩家遊戲,社交媒體投票,意見調查,線上拍賣 |
即時儀表板和監視 | 公司儀表板,金融市場資料,立即銷售更新,遊戲排行榜,IoT 監視 |
跨平台聊天 | 即時聊天室、線上客戶支援、即時購物助理、Messenger、遊戲內交談 |
位置追蹤 | 車輛資產追蹤,交付狀態追蹤,運輸狀態更新,汽車共乘應用程式 |
多使用者共同作業應用程式 | 共同撰寫、共同作業白板和團隊會議應用程式 |
跨平台推播通知 | 社交媒體、電子郵件、遊戲狀態、旅行警示 |
IoT 和連線的裝置 | 即時 IoT 計量、管理電動汽車充電網路、參與即時音樂會 |
自動化 | 來自上游事件的即時觸發程序 |
大規模用戶端連線和高可用性架構的內建支援:
Azure Web PubSub 服務專為大規模的即時應用程式而設計。 使用單一 Web PubSub 資源,即可擴大至 1 百萬個並行連線,這在大部分情況下都足夠。 一起使用多個資源時,此服務可讓您擴大超過1 百萬個並行連線。 同時,它也支援全球多個地區來達到分區化、高可用性或災害復原的目的。
針對各種用戶端 SDK 和程式設計語言的支援:
Azure Web PubSub 服務可搭配各種用戶端使用。 這些用戶端包括 Web 和行動瀏覽器、桌面應用程式、行動應用程式、伺服器程序、IoT 裝置和遊戲主控台。 伺服器和用戶端 SDK 適用於主流程式設計語言、C#、JAVA、JavaScript、Python,讓您輕鬆取用服務所提供的 API。 由於服務支援標準 WebSocket 通訊協定,因此,如果您的程式設計語言無法選用 SDK,您可以使用任何支援 REST 的程式設計語言,直接呼叫 Web PubSub 的 API。
針對不同的傳訊模式提供豐富的 API:
Azure Web PubSub 服務提供伺服器與用戶端之間的即時雙向通訊,以進行資料交換。 此服務提供讓您精細控制訊息的傳遞方式與收件者的功能。 以下是支援的傳訊模式模式清單。
傳訊模式 | 詳細資料 |
---|---|
廣播到所有用戶端 | 伺服器會將資料更新傳送到所有連線的用戶端。 |
廣播到用戶端子集 | 伺服器會將資料更新傳送到您任意定義的用戶端子集。 |
廣播到特定人類使用者所擁有的所有用戶端 | 人類使用者可以開啟多個瀏覽器索引標籤或裝置,您可以對使用者廣播,讓使用者使用的所有 Web 用戶端都會同步處理。 |
用戶端發佈/訂閱 | 用戶端會將訊息傳送到您任意定義的群組中的用戶端,而不需要伺服器介入。 |
用戶端到伺服器 | 用戶端會在低延遲時將訊息傳送到伺服器。 |
使用 Azure Web PubSub 服務進行程式設計有許多不同的方式,如這裡列出的一些範例:
- 建置無伺服器即時應用程式:使用 Azure Functions 與 Azure Web PubSub 服務的整合,以 JavaScript、C#、Java 和 Python 等語言來建置無伺服器即時應用程式。
- 使用 WebSocket 子程式執行用戶端專用 Pub/Sub - Azure Web PubSub 服務提供 WebSocket 子程式,包括 MQTT,讓授權的用戶端以方便的方式發佈至其他用戶端。
- 使用提供的 SDK 來管理自我裝載應用程式伺服器中的 WebSocket 連線 - Azure Web PubSub 服務在 C#、JavaScript、Java 和 Python 中提供 SDK 來輕易管理 WebSocket 連線 (包括將訊息廣播到連線、將連線新增到某些群組,或關閉連線等等)。
- 透過 REST API 將訊息從伺服器傳送至用戶端 - Azure Web PubSub 服務提供 REST API,讓應用程式能夠以任何支援 REST 的程式設計語言來將訊息發佈到連線的用戶端。
使用這些資源開始建置自己的應用程式:
其他資源
訓練
模組
在 Web 應用程式中使用 Azure Functions 與 SignalR Service 啟用即時更新 - Training
將 JavaScript Web 應用程式更新機制從輪詢變更為使用 SignalR Service、Azure Cosmos DB 和 Azure Functions 的即時推送型架構。 使用 Vue.js 和 JavaScript,透過 Visual Studio Code 使用 SignalR。
認證
Microsoft Certified: Azure Developer Associate - Certifications
在 Microsoft Azure 中建置端對端解決方案,以建立 Azure Functions、實作和管理 Web 應用程式、開發使用 Azure 儲存體的解決方案等等。