天天看點

微軟釋出Azure SignalR Service的預覽版本

\

看新聞很累?看技術新聞更累?試試下載下傳InfoQ手機用戶端,每天上下班路上聽新聞,有趣還有料!

\

\\

最近,微軟在西雅圖舉辦的年度Build開發者會議上釋出了Azure SignalR Service的公開預覽版本。SignalR之前就可以作為單獨的ASP.NET庫來下載下傳,但現在它是第一次作為一個完整的托管服務來提供。

\\

SignalR作為一個庫已經開發了五年的時間了,它能夠為Web應用提供實時體驗,比如用于實時儀表盤。為了實作該特性,它能夠從伺服器端實時推送内容給連接配接的用戶端。這個功能是通過WebSockets來提供的,但是在不支援WebSockets的場景下,它有備選方案,包括服務端事件(server-side events)、Forever Frame以及長輪詢(long polling)。

\\

如果直接部署SignalR元件的話,使用者需要負責安全、加密、容量以及擴充性。對服務進行跨節點擴充是通過一個靜态的backplane來實作的,這個backplane管理每個服務節點之間的連接配接。自行托管的SignalR需要建立和管理backplane,以便于提供系統擴充的基礎設施,還需要包括提供支撐的庫,如Azure Service Bus、Redis Cache或SQL Server。

\\

Azure SignalR Service移除了自行托管執行個體的一些複雜性,直接提供了擴充和伸縮功能,不再需要提供自己的backplane了。另外,安全也是通過該服務的共享通路key來進行管理的。

\\

與大多數Azure服務類似,該服務的執行個體可以通過Azure Portal進行建立。執行個體名需要保證全局唯一,你還需要選擇Azure Subscription和 Resource Group來存儲服務,并且要指定價格等級(tier)和region位置。

\\

微軟釋出Azure SignalR Service的預覽版本

\\

Azure SignalR Service目前在East US、Southeast Asia、West Europe、West US和West US 2這些region上提供了公開預覽功能,支援兩種定價等級。

\\

微軟釋出Azure SignalR Service的預覽版本

\\

在選擇Basic等級時,最多可以選擇10個擴充單元,它們決定了消息的數量以及一個執行個體可以支援的連接配接數。在公開預覽中,不支援自動擴充。

\\

SignalR隻是支援實時Web應用開發的衆多元件之一,其他元件還包括firehose.io和socket.io。在其他流行的JavaScript架構中直接支援了Firehose,比如Backbone.js和Ember.js,它還使用了RESTful設計原則,任意能夠調用HTTP端點的用戶端都能與之互動。Socket.IO用到了很多需要實時互動的應用程式之中,比如Trello、Zendesk和Microsoft Office。

\\

Azure SignalR Service目前支援ASP.NET Core,提供了對JavaScript和.NET的用戶端支援。該服務暴露了一個HTTP端點,允許其他的用戶端調用該端點,實作與服務的直接互動。

\\

David Fowler是Azure的首席軟體架構師,也是SignalR庫最初的架構師之一,在版本釋出聲明中描述了如何将目前的SignalR項目轉換為使用新的服務:

\\

\

如果你已經有基于SignalR的Web應用,那麼你可以添加一個對Azure SignalR Service SDK的引用,配置連接配接字元串,然後使用services.AddSignalR().AddAzureSignalR()和app.UseAzureSignalR來連接配接服務。這樣的話,你的應用就能開始使用該服務了。

\

\\

聲明繼續說到,随着服務向正式版本演進,将會提供其他語言的SDK。

\\

服務的Basic等級目前是每單元每小時0.0335美元,現在的定價頁面為每個價格等級使用了不同的叫法,在門戶中,Free被稱為Dev/Test,而Basic被稱為Standard。

\\

檢視英文原文:Microsoft Announces Preview of Azure SignalR Service