根據Windows Azure的SLA(Service Level Agreement),如果你在不同的容錯網域和更新網域上部署2個或以上的樣本時,windows Azure可以保證至少在99.95%的時間內,你的雲應用可以被外部存取到。所以要理解什麼是容錯網域和更新網域。
容錯網域(Fault Domain)
----------------------------------------
容錯網域代表出錯的一個物理單元,很像資料中心裡的基礎設施。比如一個刀片機之類的,但容錯網域和實體電腦之間並不是一對一的關係。
在windows azure上部署雲應用時,Windows Azure的纖程式控制制器(Fabric Controler)來負責把你的應用部署到不同的容錯網域上,從而來滿足windows Azure的SLA的要求。要這麼做的話,就要求有為每個Role(Web Role, Worker Role或者VM Role)來配置多個執行個體,至少2個。
更新網域(Upgrade Domain)
------------------------------------------
更新網域代表來決定執行個體中的Role來怎麼做更新的邏輯單元。當需要更新時,windows Azure按照更新網域一個一個的更新,從而使更新失敗或者更新期間服務停用可能性降到最低。
當有更新要求時,各個Role會得到更新通知。想象一下,如果你有50個執行個體。,同時都收到更新要求,大家一起更新的話,這時候雲應用多半就當掉了。更新網域就是來保證他們不會同時做更新操作,從而保證服務的可用性。
比如有一個雲端服務,他的Web role有8個執行個體,Worker Role有9個執行個體。Windows Azure可以把這些執行個體分布到兩個不同的更新網域中。
當應用需要更新是,首先更新網域1中的執行個體得到更新通知並進行更新操作,更新網域2中的樣本繼續對外服務。帶更新網域1中的執行個體都更新成功完成後,由更新網域1中的樣本對外提供服務,開始更新網域2中的執行個體更新。
下面是windows Azure應用程式更新的介面,我們自己並不能控制哪些樣本是放在哪個更新網域裡,這些都是有Windows Azure來自動完成的。
今天先到這裡,下節繼續學習。