首先了解一下可用性的概念:是在某个考察时间,系统能够正常运行的概率或时间占有率期望值。考察时间为指定瞬间,则称瞬时可用性;考察时间为指定时段,则称时段可用性;考察时间为连续使用期间的任一时刻,则称固有可用性。它是衡量设备在投入使用后实际使用的效能,是设备或系统的可靠性、可维护性和维护支持性的综合特性。
u 可用性与系统故障及其后果相关。
u 当系统不再提供其规范中所说的服务时,就出现了系统故障。
u 系统用户可以观察到此类故障。
u 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。
可用性关注的问题
如何检测故障
发生故障的频度
出现故障时的现象
系统故障排除的时限
如何防止故障的发生
发生故障时的处理
u 可用性的一般场景图形
u 可用性的一般场景生成
可用性战术:错误检测,错误恢复,错误预防
错误检测:主动性检测(信号,响应)类似于上课点名。老师发出信号学生应答、
被动检测(心跳)反馈自身信息和数据
异常:在系统抛出异常之前先设计程序设置异常机制
错误恢复:
表决:多个组件运算得出值向下一组件传递,当传递的值不完全相同时根据多数原则或者首选组件选择,mapreduce利用很多
主动冗余:多个组件并行运行,当发生错误时可以马上用冗余组件代替,时间:几毫秒
被动冗余:一个组件得到数据然后通知其他组件状态更新,时间:几秒
时间差原因:主动冗余:是同步状态更新,被动冗余:需要再通知其他组件更新
备份:更换不同故障的组件,必须重新启动它为组件
重新引入:
shadow:出故障时模仿上一个工作组件
状态再同步:主动冗余和被动冗余通知更新状态
检查点、回滚:记录创建时状态,出故障时可以以上一次的检查点运行。Windows利用上一次的正确配置运行
错误预防: 从服务中删除,当一个组件出问题时屏蔽该组件
事务:绑定事件的几个有序步骤,当一个步骤出现问题时可以立即撤销绑定
进程检测器:监视进行的错误,如果发现错误,撤销进程创建新的实例