繼發表設計強大的雲應用程式博客之後,HTTP://www.aliyun.com/zixun/aggregation/13357.html">Azure CAT 團隊計畫提供有關 MSDN 代碼庫上發佈的代碼專案 Windows Azure 中的雲服務基礎中的元件的詳細資訊和技術說明。 我們將開始發佈一系列博客和技術文章,對這些基礎構建塊(我們稱之為元件)的使用進行說明。 在接下來的幾個月內,我們將每隔一周在週四發佈一系列博客,提供雲服務基礎的各個元件的詳細技術說明。
這些年來,我們一直致力於與 Microsoft 內部和外部的 Windows Azure 客戶協作,並多次就對 Windows Azure 服務的需求進行深入探討。 我們也親身體會到,要回答關於如何實現雲服務的一些看似基本的問題也變得日益複雜。 例如,我們需要一個資料訪問層,而不是僅提供一段分區代碼。 而為了實現彈性的資料訪問層又需要開發重試邏輯。 我們還需要關於如何記錄大量錯誤的可靠指南。 更不用說構建一個可以查詢報告並生成警報的 ops 存儲了。 您可以看到討論如何隨著每個元件來進展,因為它們相互依賴。 這些討論和實現產生了代碼專案 Windows Azure 中的雲服務基礎將一些基本元件與正常運行的雲應用程式聯繫在一起。
對於 CAT 團隊來說,該代碼專案是一個巨大挑戰,因為我們致力於為最大的幾個客戶在 Windows Azure 上實現複雜的以資料庫為基礎的服務。 它基於我們在解決 Windows Azure 客戶所遇到的具體問題時所付出的努力。 當我們綜合考慮大型雲服務的眾多要求(包括靈活縮放、可分區工作負荷、可用性、業務連續性、大量分散式使用者以及高容量低延遲請求)時,解決這些問題就不是單靠基本示例那麼簡單了,而往往需要最佳實踐。 您可以在下面查看雲服務基礎代碼專案的基礎結構。
我們的系列技術文章將對該代碼專案中的元件進行詳細說明,包括:
1.遠端控制 – 它是通過資料管道中大規模實施的非同步機制測量和記錄應用程式服務的基礎。 有效利用遠端控制資料是對服務進行故障排除並確定服務運行狀況的關鍵所在。 該代碼專案使用後臺 worker role 實施計畫程式,以便定期收集有關應用程式、效能計數器、IIS 日誌、事件日誌和分區 SQL 資料庫 DMV 的遠端控制資料。 將資料寫入到 Windows Azure SQL 資料庫中的自訂 ops 存儲資料庫。 可通過 SQL Reporting 中的報告來查看計畫程式收集的資料。
2.資料訪問層 – 能夠有效、可靠地訪問 Windows Azure SQL 資料庫中的多個資料庫。 代碼專案中具有單個資料庫和分區解決方案的資料訪問包裝,並顯示跨分區並行扇出查詢等技術。
3.緩存 – 通過將 Azure 緩存與資料訪問層結合使用,可以更有效地從專用緩存存儲和檢索使用者資料。
4.配置 – 設定檔是實現應用程式無縫管理的關鍵,無論配置參數位於 web.config 還是 service.config – 這對於應用程式應該是透明的。
5.應用程式要求路由 – 利用 IIS 中的 ARR(應用程式要求路由)技術,實現基於 Cookie 路由並將使用者關聯到多個託管服務和分區資料庫,以在應用程式服務級別擴展為分區資料庫。
6.部署 – 通過使用 PowerShell 中的 Windows Azure Cmdlet,來將自訂配置部署到多個託管服務和可變數量的實例並配置分區數量的方法。