云上高可用架构设计
概述
系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一。
基础设施高可用、应用高可用、微服务治理、故障恢复
高可用:容量、容错、容灾
高可用架构运维体系
方法论-SLO SLA可用性指标
容量规划
业务容量规划是一个系统体系化工程,需要基于对业务的理解、目前架构的评估、生产环境压测方案、压测方案、全链路预热和防护演练的基础上的。
容量规划是稳定性和成本管理最优解
粗糙的容量规划会造成大量的资源浪费
在生产环境压测+针对性的压测模型下应用的性能基线和备容更有针对性,综合成本更低
最后是做好该容量模型的加固和防崩
全链路压测:流量不确定性、系统不确定性、生产压测
目的:精准备容(全链路压测、全链路预热)、最大吞吐(流控熔断隔离)、最优韧性(故障/预案提前演练)
容灾&多活架构
故障:人为操作失误、硬件故障、网络攻击、断电/断网、自然灾害
架构拆解:异地互备、同城双活、两地三中心、异地多活
多活概述:多活,英文Multi-Site High Availability(简称MSHA),顾名思义就是分布在多个站点同时对外提供服务。与传统的灾备的最主要区别就是“多活”里的所有站点同时在对外提供服务,不仅解决了容灾本身问题,提升了业务连续性,并且实现了容量的扩展,每个自闭环对外提供服务的站点,我们称之为单元。
核心技术:流量管控保障、数据复制保障、故障管控保障
流量管控保障:单元封闭设计、流量分配纠错、数据禁写规则
数据复制保障:数据复制一致性、长传链路数据秒级同步延迟、数据双向防循环同步
故障管控保障:应用双活管控工具、故障演练管控工具
容错架构
六大管控手段
高可用架构治理
故障演练
混沌工程:混沌工程是在分布式系统上进行实验的学科,目的是建立对系统抵御生产环境中失控条件的能力以及信心。