面向失败的设计
什么样的失败?
硬件问题
软件Bug
配置变更错误
系统恶化
外部攻击
依赖库问题
依赖服务问题
面向失败的设计
冗余设计避免单点故障
面向失败的宏观多活架构
服务能力与依赖调用自我保护
为一切不可预料的情况备好预案
自动化运维管控
精细化的监控体系
故障与攻防演练锤炼容灾应急能力
冗余设计避免单点故障
硬件冗余
信息冗余
时间冗余
软件冗余
如何做有效隔离?
宏观多活架构
以数据为中心进行灾备
以业务为中心进行同城双活(应用层)
以用户为中心进行智能流量分配&多中心部署(异地,存储层做到了多活)
服务能力与依赖调用自我保护
尽早拦截无效的请求
漏斗原则
缓存->DB
隔离原则
可降级、可隔离
流量错峰
排队处理
按需分配
限流
为失败准备预案
清晰的判定条件
高效、准确、一致性的执行
可量化的校验方式
工作流的隔离
角色
环节
可重复
梳理
开发
测试
上线
演练
定期化
有效性