构建高可用性系统
避免单点
单点:系统部署在一台机器上,该机器宕掉,系统就不可用.
解决办法:集群.
如何均衡?
如何切换?
解决:负载均衡技术,有硬件和软件.增长负载均衡机器.负载均衡机器为了不本身成为单点,经过standby.
负载机器上配置了业务处理机器的ip到地址列表
均衡解决:
随机:各个请求所耗资源差异不大时使用.
Hash:对请求作hash,为命中缓冲.典型应用场景就是静态图片加载.
因为要读取网络第7层协议又要作hash会耗费cpu
RR:(round_robin)按顺序选择,在各个请求所耗资源相差不大时使用.这种方式软硬件都支持,目前使用比较多.
权重:为ip配置权重,按权重选择.分为静态权重和动态权重.静态权重:当集群中机器档次不一样时使用.动态权重:根据业务处理机器的运行状态(load、链接数等)来权重.
负载:根据业务处理机的负载来选择.适合各类请求处理所耗资源相差较大的状况,避免请求均衡负载不均衡的情况.这要求负载机器每隔必定时间向业务处理机器收集负载情况.
负载机器有性能开销,有时收集会延时或收集不到致使更大的负载不均衡.不多使用.
按链接数:根据实际业务处理机的链接数进行选择.注意重启的影响.不多使用.
除了以上选址外,一般支持按cookie信息绑定访问相同的机器.这样的好处是避免了分布式缓冲.
切换
提升应用的可用性 cookie
垂直伸缩、水平伸缩,但愿伸缩是线性的.
垂直伸缩:增长或升级一台机器的硬件.水平伸缩:增长机器. 网络