Windows Azure 雲服務角色架構


當我們使用VS發布一個Cloud Service或者在Portal上上傳發布包后,就能啟動和運行一個雲服務,可以保護WebRole,WorkerRole的一個或者多個實例。

Windows Azure是怎么實現這一個過程的呢?要了解這個過程,需要首先了解Windows Azure 的雲服務角色架構。

總的來說可以用下面一張圖來概括,非常經典的一張圖,很多問題都可以在這張圖上得到答案。Windows Azure 這些年不斷更新,對於這張圖來說基本沒有變化。

rolearchitecture

首先對這張圖上的名稱做解釋:

A. RDFE / FFE 用來連接用戶到Azure的Fabric. RDFE (RedDog Front End) ,RedDog紅狗是一種酒的名稱,當時負責這個項目的人喜歡這個酒,就以此命名。REFE是一套向外公開的接口,管理網站的API和Service Management的API(ie. Visual Studio, Azure MMC等)。用戶所有的請求都會經過RDFE,然后通過FFE傳給Fabric。

B. Fabric controller 就像PC及其的操作系統,它管理和監控數據中心(DataCenter)中的所有資源。它與部署在Host OS上的Host Agent通信,Host Agent 與Guest Agent (部署在VM,WebRole,WorkerRole上)通信,收集將Guest OS的版本、服務包、配置和狀態 。

C. Host Agent 是Host OS上一個應用,用來部署Gust OS和Gust Agent 通信。通過心跳方式獲取Gust Agent狀態,如果10分鍾沒有得到心跳響應,就會重啟Gust OS。

C2.  WaAppAgent 負責安裝、配置和升級WindowsAzureGuestAgent.exe。

D. WindowsAzureGustAgent 的職責是:

a. 配置Guest OS的防火牆、ACLs、本地存儲資源、服務包和服務配置,以及RDP證書。

b. 為Role運行設置用戶賬戶

c. 與fabric 就角色(WebRole,WorkerRole)的狀態進行溝通

d. 啟動WaHostBootstrapper進程並檢視這個進程和保證角色運行在良好的狀態

E. WaHostBootstrapper的職責是:

a. 讀取角色配置和啟動角色所需的所有任務和進程。

b. 監控所有子進程。

c. 發起角色狀態檢查。

F. IISConfigurator 的職責是:

a. 啟動IIS服務。

b. 配置.net module

c. 根據<sites>節點的配置創建AppPool和站點。

d. 配置IIS的日志路徑。

e. 配置站點訪問權限。

G. Startup tasks 在RoleModel的配置文件中。這些任務需要進程WaHostBootstrapper啟動. Startup tasks 能被異步運行(Background startup task )和同步運行(Simple startup task )。

H. DiagnosticsAgent 用來監聽和記錄診斷信息的代理,這個任務是后台運行任務。RemoteAccessAgent 是用於RDP遠程訪問,這個任務是簡單任務。

I. WaWorkerHost 是worker role的標准宿主進程,宿主了所有關於Role的DLL,執行代碼如OnStart和Run方法嗎。

J. WaWebHost 是Web Role的標准宿主進程,使用HWC。這個在SDK1.2可以使用,現在的SDK已經不支持了。

K. WaIISHost 是角色的宿主進程。加載角色訪問的第一個DLL,入口是實現RoleEntryPoint的類,執行OnStart,Run,OnStop等方法。

L. W3WP 是IIS的工作進程。

 

一下是每個虛機VM和節點(Node)以及FC的內部結構。

image

Physical Node: 物理節點(Node),就是一個單片機服務器,可以分成多個(一般8個,16個)Guest Partition。

Guest Partition: 包括Guest OS, 角色實例和Guest Agent

image

 

Reference:http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM