高可用
核量指标
可用性 = 平均故障时间 / 系统总运行时间,一般使用几个9来描述系统的可用性
指标设定
设计目标是多少,看损失和需要保证指标的代价比对衡量。
比如:小系统,停1天也没啥损失,那么就可以给1个9。
但如果电子商城,一年5亿的销售额,如果是1个9,就相当于5亿*10%=5KW销售额的损失,5KW销售额*5%的毛利率=250W利润损失。如果提升到2个9,损失能降低90%,即:225W,但提升到2个9远远不需要这么多钱。 这就可以提升。如果再继续提升就降低不了多少损失了。
上面只是从经济角度来分析,如果有其他不可量化因素就另说。但无论咋样,都必须基于实际,可用性越好,代价就越大。
高可扩展
在现有架构的基础上,面对突发的流量,通过增加机器或者服务的方式对系统进行扩展的能力,通常增加一倍服务或者机器性能不会提升100%,会有一定的边际成本,理想的扩展能力是:资源增加几倍,性能提升几倍。
对于业务集群或者基础组件来说,扩展性 = 性能提升比例 / 机器增加比例,通常来说,一个系统扩展能力要维持在70%以上。
比如:1W的并发量,通过增加服务和机器需要支撑1.7W并发量。而且性能不会有明细下降,或者甚至不达标。
END