微软发布Azure SignalR Service的预览版本
看新聞很累?看技術(shù)新聞更累?試試下載InfoQ手機(jī)客戶端,每天上下班路上聽新聞,有趣還有料!
\\\最近,微軟在西雅圖舉辦的年度Build開發(fā)者會(huì)議上發(fā)布了Azure SignalR Service的公開預(yù)覽版本。SignalR之前就可以作為單獨(dú)的ASP.NET庫來下載,但現(xiàn)在它是第一次作為一個(gè)完整的托管服務(wù)來提供。
\\SignalR作為一個(gè)庫已經(jīng)開發(fā)了五年的時(shí)間了,它能夠?yàn)閃eb應(yīng)用提供實(shí)時(shí)體驗(yàn),比如用于實(shí)時(shí)儀表盤。為了實(shí)現(xiàn)該特性,它能夠從服務(wù)器端實(shí)時(shí)推送內(nèi)容給連接的客戶端。這個(gè)功能是通過WebSockets來提供的,但是在不支持WebSockets的場(chǎng)景下,它有備選方案,包括服務(wù)端事件(server-side events)、Forever Frame以及長輪詢(long polling)。
\\如果直接部署SignalR組件的話,用戶需要負(fù)責(zé)安全、加密、容量以及擴(kuò)展性。對(duì)服務(wù)進(jìn)行跨節(jié)點(diǎn)擴(kuò)展是通過一個(gè)靜態(tài)的backplane來實(shí)現(xiàn)的,這個(gè)backplane管理每個(gè)服務(wù)節(jié)點(diǎn)之間的連接。自行托管的SignalR需要?jiǎng)?chuàng)建和管理backplane,以便于提供系統(tǒng)擴(kuò)展的基礎(chǔ)設(shè)施,還需要包括提供支撐的庫,如Azure Service Bus、Redis Cache或SQL Server。
\\Azure SignalR Service移除了自行托管實(shí)例的一些復(fù)雜性,直接提供了擴(kuò)展和伸縮功能,不再需要提供自己的backplane了。另外,安全也是通過該服務(wù)的共享訪問key來進(jìn)行管理的。
\\與大多數(shù)Azure服務(wù)類似,該服務(wù)的實(shí)例可以通過Azure Portal進(jìn)行創(chuàng)建。實(shí)例名需要保證全局唯一,你還需要選擇Azure Subscription和 Resource Group來存儲(chǔ)服務(wù),并且要指定價(jià)格等級(jí)(tier)和region位置。
\\\\Azure SignalR Service目前在East US、Southeast Asia、West Europe、West US和West US 2這些region上提供了公開預(yù)覽功能,支持兩種定價(jià)等級(jí)。
\\\\在選擇Basic等級(jí)時(shí),最多可以選擇10個(gè)擴(kuò)展單元,它們決定了消息的數(shù)量以及一個(gè)實(shí)例可以支持的連接數(shù)。在公開預(yù)覽中,不支持自動(dòng)擴(kuò)展。
\\SignalR只是支持實(shí)時(shí)Web應(yīng)用開發(fā)的眾多組件之一,其他組件還包括firehose.io和socket.io。在其他流行的JavaScript框架中直接支持了Firehose,比如Backbone.js和Ember.js,它還使用了RESTful設(shè)計(jì)原則,任意能夠調(diào)用HTTP端點(diǎn)的客戶端都能與之交互。Socket.IO用到了很多需要實(shí)時(shí)交互的應(yīng)用程序之中,比如Trello、Zendesk和Microsoft Office。
\\Azure SignalR Service目前支持ASP.NET Core,提供了對(duì)JavaScript和.NET的客戶端支持。該服務(wù)暴露了一個(gè)HTTP端點(diǎn),允許其他的客戶端調(diào)用該端點(diǎn),實(shí)現(xiàn)與服務(wù)的直接交互。
\\David Fowler是Azure的首席軟件架構(gòu)師,也是SignalR庫最初的架構(gòu)師之一,在版本發(fā)布聲明中描述了如何將當(dāng)前的SignalR項(xiàng)目轉(zhuǎn)換為使用新的服務(wù):
\\\如果你已經(jīng)有基于SignalR的Web應(yīng)用,那么你可以添加一個(gè)對(duì)Azure SignalR Service SDK的引用,配置連接字符串,然后使用services.AddSignalR().AddAzureSignalR()和app.UseAzureSignalR來連接服務(wù)。這樣的話,你的應(yīng)用就能開始使用該服務(wù)了。
\\\聲明繼續(xù)說到,隨著服務(wù)向正式版本演進(jìn),將會(huì)提供其他語言的SDK。
\\服務(wù)的Basic等級(jí)目前是每單元每小時(shí)0.0335美元,現(xiàn)在的定價(jià)頁面為每個(gè)價(jià)格等級(jí)使用了不同的叫法,在門戶中,Free被稱為Dev/Test,而Basic被稱為Standard。
\\查看英文原文:Microsoft Announces Preview of Azure SignalR Service
總結(jié)
以上是生活随笔為你收集整理的微软发布Azure SignalR Service的预览版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【自由随想录(一)】
- 下一篇: 由event target引发的关于事件