高可用的三维模型
高可用是一个三维模型∶
1、合理性∶不合理的设计就是在生产有害垃圾,最终害人害己。
架构合理性、链路合理性、运维部署合理性、服务器配置合理性...
2、可用性∶不能拉穿全局的单点可用,就是披着羊皮的狼。
服务可用性、中间件可用性、依赖可用性、服务器可用性、机房可用性、线程隔离、服务隔离、机房隔离...
3、安全性∶不能保证系统安全运行环境的即为不可用。
DDOS、CC、XSS、劫持、篡改、伪造、薅羊毛、数据隔离、沙箱机制..
高可用在软件的哪个阶段需介入干预?
引用《黄帝内经》的一段话∶"上医治未病,中医治欲病,下医治已病",这句话的意思很显而易见,"最高明的医生治疗还没有发生的病,中等的医生治疗将要发生的病,而普通医生治疗已经发生的病",高可用体系亦是如此∶
高可用的"未病"∶
天天喝冰水,顿顿大乌苏,睡觉三枕头,空调脑后吹。
链路马拉松,流量循环调,服务瘦如柴,日志壮如猪。
高可用的"欲病"∶
尿酸易痛风,血压脑出血,血糖肾脏哭,血脂脑梗塞。
响应直线拉,并发翻倍涨,节点挨个挂,监控满江红。
高可用的"已病"∶
感冒发烧需治疗,病变坏死需切除,追求生命数字化,各域专家通宵聚。
故障异常需干预,限流降级保核心,用户看似无感知,自愈策略忙成狗。
so,高可用贯穿软件的全生命周期,贯穿项目的全生命周期,贯穿商业体系的全生命周期。
你一定不希望做一个瞎子,每次都是客户告诉你,才知道你的东西出问题了。
你一定不愿意做一个弃子,每次都是被打爆了,才知道运营搞活动了。
你一定不愿意做一个傻子,每次都是损失扩大,才知道想起应急响应。
故而在高可用体系下,往往是 防>治,防的是疾病,治的是意外。不要等所有的问题,都以意外的形式展现出来,再去治疗。
在后续的文章中,还会跟大家详细聊如何控制爆炸半径的问题。