在Oracle中,什么是高可用?
A 答案如下所示:
高可用(High Availability,HA)是分布式系统架构设计中必须考虑的因素之一。HA通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,那么这时可以称系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,那么可以称系统的可用性是99%。很多公司(例如三大运营商、百度、京东等)的高可用目标都是4个9,也就是99.99%。
百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过www.baidu.com能不能访问来判断“网络的连通性”。百度高可用的服务给人留下了“网络通畅,百度就能访问”,“百度打不开,应该是网络连不上”的印象,这可以说是对百度HA最高的褒奖了。
众所周知,单点是系统高可用的最大的风险和敌人,应该尽量在系统设计的过程中避免单点。在方法论上,高可用保证的原则是“集群化”,或者叫“冗余”。只有一个单点,挂了服务会受影响;如果有冗余备份,挂了还有其它备份能够继续提供服务。而RAC提供了实例级别的冗余,DG提供了数据存储级别的冗余。
若要保证系统高可用,则架构设计的核心准则是:冗余。有了冗余之后,还不够,每次出现故障需要人工介入恢复势必会增加系统的不可服务实践。所以,又往往是通过“自动故障转移”来实现系统的高可用。