需要有關大型 Silverlight 站點設置的建議
可能重複:
希望這裡有人會很好地就我們應該採用的設置提供一些建議。我不是系統管理員,只是一名開發人員,所以我不完全確定在擴展我們正在建構的 Web 應用程序時需要涉及哪些內容。
我們正在使用 Silverlight 建構一個 SaaS Web 應用程序,後端有一個 MS SQL 數據庫和 WCF 服務呼叫。目前,silverlight 應用程序本身為 6MB(還沒有被混淆或壓縮),並且不會變得更大。我們可能正在關注使用該網站的數十萬甚至數百萬客戶,並且一旦網站上線,他們中的大量客戶就會加入。因為它是一個 SaaS 應用程序,所以它需要 24/7/365 的正常執行時間。
我們目前在本地數據中心有半個機架的專用硬體,有 3 台伺服器。其中 2 個目前已滿負荷,無法再處理負載,但我們的第 3 個幾乎沒有,它的規格是:Proliant DL360 G7,12 x 2.666 Ghz,Xeon E5650 @ 2.67Ghz,49141.38MB 記憶體。我們有一個連接到所有 3 台伺服器的 2MB 連接,可突增到 100MB,但我們正在考慮增加這個大小。所有 3 台伺服器都執行 vSphere 4 Advanced,因此它可以執行多個虛擬機。
伺服器本身不需要來自 Web 應用程序的儲存,但需要能夠處理所有數據庫呼叫並為 Silverlight 應用程序提供伺服器。數據庫呼叫將包括正常的事情,例如檢查使用者登錄憑據、保存和載入一些數據(對於保存的最大資訊,典型的數據庫寫入永遠不會超過 1MB)等。
我們已經將 Azure 和 Amazon 都視為託管自己的替代方案,因為我們不希望在它上線之後發生 N 人註冊該服務,我們無法處理所有下載頻寬應用程序和所有數據庫呼叫。然而,Azure 非常昂貴,亞馬遜也不甘落後,但兩者似乎都是解決可擴展性問題的好方法,而不是在我們的機架上添加 X 台伺服器並自己解決所有這些問題。目前,我們傾向於亞馬遜,因為它似乎是比 Azure 更好的雲解決方案,而且價格更便宜。
將另一台伺服器添加到組合中並增加我們的頻寬會更好嗎?我們是否應該考慮另外兩台伺服器,兩台用於託管站點並對其進行負載平衡,然後是第三台伺服器用於我們的 MS SQL 數據庫?還是我們應該選擇亞馬遜,讓他們託管一切?我真的不知道最好的解決方案是什麼,謝謝大家。
您已經說過您的最大 WCF 事務不會大於 1MB,但平均一個呢?是 0.95MB 還是 25KB?假設您目前的基礎架構可以處理您預期的 WCF 負載並且您最擔心 .xap 的部署,我強烈建議您將 6MB .xap 部署到 Amazon 或 Azure CDN(如果您真的相信您會早期有數百萬遊客)。這將節省您的頻寬,並讓您無需管理任何云虛擬機。根據您的性能要求,您甚至可以使用 S3 儲存而不是 CDN。
這樣,您可以在 Web 伺服器上託管應用程序的 ASP.NET Web 組件以及 WCF 服務。此伺服器應具有對數據庫伺服器的 LAN 訪問權限。這為您提供了內部應用程序管理的優勢,而無需為數百萬客戶端託管大型 .xap 文件所需的頻寬。