本文主要讲:什么是高可用?为什么要设计高可用?如何实现高可用?
1、什么是高可用?
“高可用性”(High Availability),通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。 其衡量标准:平均无故障时间。
假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。
很多公司的高可用目标是4个9:(1-99.99%)*365=0.0365天 ----> 表示该系统1年时间里最多可能的业务中断时间是52.56分钟。
百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过http://www.baidu.com 能不能访问来判断“网络的连通性”,百度高可用的服务让人留下啦“网络通畅,百度就能访问”,“百度打不开,应该是网络连不上”的印象,这其实是对百度HA最高的褒奖。
2、为什么要设计高可用?
保证系统可实时不间断的使用。
3、如何实现高可用?
通过冗余+自动故障转移来保证系统的高可用特性,计算机网络的每一层其实都是可以做负载均衡和高可用的,传输层的keepalive、应用层的nginx等都可以实现。具体如何实现还要结合实际情况选择。