進階架構佈道師Brian Prince和技術佈道師Nathan Totten展示了幾種可選的方案,用於擴充安裝在Windows Azure上的ASP.NET應用程式。
主講人指出,我們可以任意組合使用這些方案,從而增大或者減小應用程式的規模。這些方案可以歸為幾大類:緩衝(caching)、流量分配(traffic distribution)、非同步工作處理(asynchronous work processing)、以及儲存(storage)。Prince和Totten推薦使用以下一些方案組合來增大ASP.NET應用程式的規模:
增加Azure執行個體的數量
和增加虛擬伺服器一樣,這是分配負載最簡單的方式。
增加Table或Blob儲存
Table儲存是無模式(schema-less)且非關係型的儲存,但是它比SQL Azure具有更高的可擴充性。正如Totten所說,Table儲存的每個分區在每秒內可以處理大約500個請求。而Blob儲存則是一種非結構化的方案,對於大檔案儲存體可能會很有用。
增加AppFabric緩衝
AppFabric用於在記憶體中緩衝頻繁訪問的資料,而且還可以作為一種工作階段狀態提供者。
使用非同步工作處理
Azure Queue會向我們稱之為“工人角色(worker roles)”的後台進程發送訊息。在處理購物車或檔案上傳時,我們需要恰當地設定Azure Queue;使得商務邏輯在幕後處理,從而提升前端效能。隊列的大小是有限制的,但是它可以與Table和Blob儲存群組合使用。
把靜態或半靜態內容放到Azure內容分髮網絡中
正如主講人所說,Windows Azure 內容分髮網絡(CDN,Content Delivery Network)目前在世界上已有26個結點,而且會定期地增加更多結點。對於使用者而言,把待用資料(或者並不經常更新的資料)放到CDN中可以提升效能,因為那些資料將會從距離使用者最近的資料中心提取出來。
利用流量管理員
Windows Azure流量管理員(Traffic Manager)與CDN類似,但並不用於儲存內容,它在多個位置承載整個應用程式,以便在世界範圍內提供更好的可用性。在主執行個體停用情況下,流量管理員也可用作災備系統。
Prince和Totten指出,應用程式可靠的初始設計永遠是良好效能的關鍵所在,但Windows Azure的目的是讓我們可以輕鬆地增大或減小應用程式規模,這也是某些組織在需求中所要求的。