现今的互联网产品愈来愈注重可靠性,尤为是在生产环境中使用的系统,对高可用性都有必定的要求。而做为产品的提供方,在交付产品以前,也会对高可用进行验收测试。近期跟进过两个产品曾有高可用测试的需求,在此简单的总结分享下。mysql
在介绍产品以前,先简单的介绍下高可用和高可用测试:sql
产品A为云计算的PAAS层组件,各服务部署在云主机以及物理机上,大体架构以下:docker
从产品架构来看,对A产品作高可用测试,须要分别确保LVS集群和Tengine集群的高可用。所以,须要根据LVS集群和Tengine集群的原理以及运行特性,分别制定高可用测试方案网络
LVS运行物理机上,OSPF协议实现多节点互备,所以设计高可用测试方案以下:架构
Tengine运行在云主机上,经过LVS的健康检查实现服务保证,所以设计高可用测试方案以下:测试
产品B为数据可视化产品,采用物理机+docker容易进行私有化部署,大体架构以下:云计算
从产品架构来看,对B产品作高可用测试,主要分为功能容器不可用、基础设施容器不可用、节点网络异常、机器异常状况下的高可用:设计