交流羣:195866844html
目錄:redis
SignalR 2.0做爲一個新的並且強大的通訊工具,發佈博客以後獲得了不少人的支持,謝謝...也有人對性能和架設等問題提出了各類質疑..真的很感謝..sql
我特地下載了SignalR 2.0的源碼硬着頭皮用我二流子的英語在微軟官方的Demo裏翻滾..數據庫
今天這個負載均衡下使用SignalR..基本徹底照搬於微軟的Demo,我就當翻譯+上本身的理解吧 - -, 原文看這裏:app
使用SQL server實現持久化負載均衡
http://www.asp.net/signalr/overview/performance/scaleout-with-sql-serverasp.net
使用redis實現持久化工具
http://www.asp.net/signalr/overview/performance/scaleout-with-redispost
今天咱們主要講使用SQL server..性能
開發工具:VS2013 旗艦版
數據庫:Sql Server2008
操做系統:WIN7旗艦版
老規矩,咱們先來看看實現後的效果:
作過負載均衡的應該一眼就能看出效果主要作的什麼,這裏咱們就不作過多的解釋了..
首先咱們來看看微軟給出的實現參考圖:
Microsoft SQL Server 2005或更高版本。 它不支持SQL Server精簡版或SQL Azure數據庫。 (若是您的應用程序是託管在Azure,你懂的,考慮其餘的版本代替吧.)
詳細的教程以前,這裏是一個快速概述你將作什麼。
下面就開始第一步
配置數據庫:
首先咱們來建立一個庫爲SignalRTable
以下圖:
而後,打開數據庫代理(這是微軟給的建議,可不開,微軟給出的緣由是:服務代理提供本機支持SQL Server消息和隊列,使其接收更新更有效率。)
可使用SQL語句查詢是否開啓了數據庫代理(新庫默認是關閉的) SQL語句以下:
SELECT [name], [service_broker_guid], [is_broker_enabled] FROM [master].[sys].[databases]
可使用以下SQL語句開啓你數據庫的代理服務:
ALTER DATABASE 你的庫名 SET ENABLE_BROKER
開始配置項目
我這裏直接拿個人第一個Demo來配置了,首先你要引用
using Microsoft.AspNet.SignalR.SqlServer;
這個類庫,..若是沒有的話能夠經過NuGet去下載.
任何Hub中的代碼都不須要修改,上面我提到過,啓動器Owin,咱們這裏直接進入到Owin中,加入以下代碼:
using System; using System.Threading.Tasks; using Microsoft.Owin; using Owin; using Microsoft.AspNet.SignalR; using Microsoft.AspNet.SignalR.SqlServer; [assembly: OwinStartup(typeof(SignalRTest.MyStartup))] namespace SignalRTest { public class MyStartup { public void Configuration(IAppBuilder app) { //加入以下代碼,Sqlconn爲你的SQL數據庫鏈接字符串. string sqlconn = "您的SQL數據庫聯接字符串"; GlobalHost.DependencyResolver.UseSqlServer(sqlconn); //初版Demo中咱們一直只有這句代碼. app.MapSignalR(); } } }
這樣咱們就完成了整個負載均衡狀況下的配置.
謝謝你們的支持,我會作的更好..請你們對我二流子的英語多多包含 - -,感謝..但願能有更好的翻譯出來.