[TechDays2013] 使用 ASP.NET SignalR 建置即時擴展的網站服務

[TechDays2013] 使用 ASP.NET SignalR 建置即時擴展的網站服務

接著所聽到的最後一堂課室有關於即時擴展網站服務的課程

一開始是用套建去監測自己Sever的流量

藉著介紹有關於一些服務對於網路負載的分析

IMG_2066

 

接著開始介紹有關於SignalR的服務

IMG_2067

 

常常遇到的問題是~當一個Sever突然掛掉的時後~用戶端是否可以即時連結到另外一台伺服器

IMG_2068

 

對於用SignalR Scale-Out的方式,當資料從用戶端丟往伺服器後,會將資訊再傳送到所謂的

訊息匯流(Backplane)傳送到各個Sever再一起發送訊息給所有用戶

IMG_2069

 

接著用三種不同方法去擴展

第一個還是比較常用的利用原本的SQL Sever

IMG_2070 IMG_2071

所Demo出來的訊息推播可以看到成功的再兩個port互相傳送訊息,但也發現用SQL Sever速度真的會Delay

 

IMG_2073

展示SQL Server的Model

IMG_2074

優缺點都列出來了

優點應該就是真的大家比較常用SQL Sever~只要提供資料庫容器就可以自行維護

缺點就是速度真的比後面兩個慢

IMG_2075

 

第二種方式是利用Redis

其架構方式其實與SQL Sever差不多~只不過名稱不太一樣

 

IMG_2076

IMG_2077

 IMG_2079

 IMG_2080

 

最後以Sevice Bus擴展SignalR~而Sevice Bus是微軟Azure的一個服務

IMG_2081

其運行的架構也是差不多,只不過有一個重要的在於Azure的服務要在Azure裡面的Topic打開

IMG_2084

IMG_2085

登入Azure找尋Connection String

IMG_2086

IMG_2087

 

 

IMG_2088 - 複製

貼上Connection String

IMG_2089 - 複製

 

套件的部分都在擴充功能裡面下載安裝

IMG_2082 IMG_2083

 

個人總結

感覺這堂課學到很多即時擴充的方式

不僅只用到SQL Sever

的確用Redis快很多~Service Bus的Demo並沒有很順利

可能是跟當天的Demo網路連結並不是那麼的順

不過想像之後轉移到Azure上面也是非常的方便

有興趣的人真的可以看看這堂課的錄影

 


 

  • 文章中的敘述或資訊有誤,歡迎回應指正,討論與指教是進步的原動力:)
  • 喜歡此點部落文章,歡迎各位轉載並於文末附載原文網址超連結與站名【DriftMind】