Windows Azure云计算学习笔记4--理解容错域(Fault Domain)和更新域(Upgrade Domain)
根据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来自动完成的。
今天先到这里,下节继续学习。