1、高可用常识
- 系统不可用时间=故障修复时间点-故障发现时间;
- 系统年度可用性=(1-不可用时间/年度时间)*100%;
- 过载、断点、挖断光缆、误操作、代码质量问题、流程过于自动化;
- 如何提高?硬件、环境,x86系统的可靠性比unix低一些;
- 同城、异地负载,系统运维比较关键,适当巡检;
- 系统监控与告警,自动修复;
2、打造高可用系统
- 主备(Master-Slave、VIP;自动切换与手动切换);
- 集群(高可用集群模式,负载均衡器,请求转发到后端节点(无状态节点)、共享集群配置、节点配置);
- Kubernetes模式,docker容器进行配置(load balance,ServiceIP)
- 颠覆的应用框架(kubernetes)。service load
- 配置集中化、尽可能消除单点故障、尽可能服务无状态、自我检测/自我修复/恢复能力
3、容灾与异地双活
- 传统的主备方式容灾方案——网络、存储、应用、数据库;
- 异地双活数据中心(网络中心、存储双活、应用双活、数据库双活(数据库同步问题));
- 淘宝数据增量同步(增量分发中心,实施数据同步基础设施DRC);
4、不可或缺的负载均衡机制
- DNS(缓冲、客户端缓存、大粒度负载均衡)
- 基于Tcp/IP的负载均衡机制;
- 软件负载均衡机制(LVS、HA-Proxy、nginx);
-
- HA-Proxy,同时维护5w连接,10Gb带宽,8种负载均衡,acl控制,4层or7层;
- 基于定制的负载均衡算法(基于Zookeeper、Ice客户端负载均衡机制);