共用方式為


Azure 上的概觀 Socket.IO

Socket.IO 是廣受歡迎的開放原始碼程式庫,可用於用戶端與伺服器之間的實時傳訊。 管理客戶端與伺服器之間的具狀態和持續性連線,通常是 Socket.IO 使用者感到沮喪的一個原因。 當多個 Socket.IO 執行個體分散到伺服器時,問題會更為尖銳。

Azure 會為 Socket.IO提供完全受控的雲端解決方案。 此支援可減輕開發人員部署、裝載及協調 Socket.IO 執行個體的負擔。 然後,開發小組就可以專注於使用來自 Socket.IO 程式庫的熟悉 API 來建置實時體驗。

簡化的架構

這項功能可移除相應放大 Socket.IO 應用程式時,「配接器」伺服器元件的需求,讓開發小組能夠獲得簡化架構的權益。

Screenshot of a typical architecture of a fully managed Socket.IO app.

自行裝載 Socket.IO 應用程式的權益

下表會顯示從 Azure 使用完全受控解決方案的權益。

項目 自行裝載 Socket.IO 應用程式 在 Azure 上使用 Socket.IO
部署 客戶管理的 受 Azure 管理
裝載 客戶必須佈建足夠的伺服器資源,以提供和維護持續性連線 受 Azure 管理
調整連線 使用稱為 配接器 的伺服器端元件所管理的客戶 Azure 可管理超過 100,000 個開箱即用的用戶端連線
運行時間保證 客戶管理的 受 Azure 管理的運行時間超過 99.9%
企業級安全性 客戶管理的 受 Azure 管理
票證支援系統 不適用 受 Azure 管理

當您自行裝載 Socket.IO 應用程式時,用戶端會直接與伺服器建立 WebSocket 或長時間輪詢連線。 維護這類 具狀態 連線會對 Socket.IO 伺服器造成沉重的負擔。 此負擔會限制並行連線的數目,並增加傳訊延遲。

達成並行和延遲挑戰的常見方法是 向外擴增至多個 Socket.IO 伺服器。 向外擴增需要稱為 適配卡 的伺服器端元件,例如 Socket.IO 程式庫提供的 Redis 配接器。 不過,這類配接器引進了部署和管理所需的額外元件。 它也要求您撰寫額外的程式碼邏輯,以讓事情正常運作。

Diagram of a typical architecture of a self-hosted Socket.IO app.

透過 Azure 上的 Socket.IO,您可以自由處理調整問題,以及實作與使用配接器相關的程式碼邏輯。

相同的程式設計模型

若要將自我裝載的 Socket.IO 應用程式移轉至 Azure,您只需要新增幾行程式碼。 不需要變更應用程式程式碼的其他部分。 換句話說,程式設計模型會維持不變,而且管理即時應用程式的複雜性會降低。