Microsoft Azure網站架構

Azure網站的頂層架構

微軟在每個數據中心都部署有Azure網站系統。根據用戶數量,數據中心可用機器容量等,在每個數據中心部署有不同數量的部署單元。每個部署單元都是包含完整Azure網站功能的獨立系統,每個部署單元之間是相互獨立的。下圖描述了Azure網站的頂層架構。

同一個Azure訂閱下的,屬於同一個數據中心的所有網站都在一個部署單元中,不會分散到不同的部署單元。比如,Sky在香港數據中心創建了10個網站,那麼這10個網站都會被創建在一個部署單元中(比如HK001部署單元),而不會分散到幾個不同的部署單元。


部署單元架構

Azure部署單元架構借鑑了Microsoft Web Farm Framework的設計,如下圖所示,它有5個最基本的核心組件構成。


Azure網站部署單元架構

網站工作服務器(Web Worker)

客戶的網站運行在網站工作服務器。每個部署單元通常有上千臺網站工作服務器。可以簡單的認爲一臺網站工作服務器就是一臺IIS服務器。每臺服務器上可能同時運行很多客戶的網站.客戶也可以要求自己的網站同時運行幾個實例,Azure網站提供負載均衡服務。工作服務器上安裝有運行客戶網站必需的語言環境和各種框架。包括:

  • IIS
  • .Net Framework
  • PHP
  • Node.js
  • Python
  • WebDeploy/GIT
  • 數據訪問組件,比如Microsoft Data Access Component和MySQL的數據驅動程序

前端服務器(Frontend)

前端服務器是Azure網站系統的入口服務器。每個部署單元通常有多臺前端服務器。Azure負載均衡設備負責把客戶的請求分發到前端服務器。前端服務器上安裝有擴展的IIS Application Request Routing(ARR)。IIS ARR是一個工作在HTTP層的負載均衡組件,它是前端服務器的最重要的組件。建議您閱讀下面的文章幫助您更好的理解前端服務器的工作原理。

http://www.iis.net/downloads/microsoft/application-request-routing

前端服務器主要提供三個功能:

  • 請求轉發功能。將客戶的請求轉發到對應的工作服務器,並將工作服務器的響應轉發給客戶端。
  • 負載均衡功能。如果客戶網站有多個實例在運行,前端服務器根據配置的負載均衡算法將客戶請求分發到各個網站實例。
  • 分配工作服務器。當第一個請求到達時,前端服務器根據工作服務器的負載情況選擇當前負載最低的工作服務器分配給客戶。

部署服務器(Publishing Server)

Azure網站提供多種部署方式,比如GIT,WebDeploy,FTP等。只有FTP部署通過部署服務器完成。同時,FTP提供了診斷日誌下載功能。GIT和WebDeploy直接通過客戶網站本身完成部署任務。

文件服務器(File Server)

文件服務器通過Microsoft Azure雲存儲提供文件服務,包括客戶網站文件,配置文件,診斷日誌和臨時文件等。客戶的網站文件保存在文件服務器,工作服務器通過UNC共享路徑的方式訪問網站文件。

運行時數據庫(Runtime Database)

運行時數據庫存儲有客戶網站數據,配置等信息,同時保存客戶資源使用情況。

延伸閱讀

該架構與Microsoft Web Farm Framework有些類似,您可以參考下面的文章來更好的瞭解該架構。

http://www.iis.net/learn/web-hosting/microsoft-web-farm-framework-20-for-iis-7

 
發佈了33 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章