高可用的可用性也有高有低,该如何描述呢,自然是单位时间内提供服务的时长,这个时间越长,则可用性就越好,主要有如下专业术语:
SLI: service level indicator,即单位时间内请求得到正常响应的百分比
SLO:service level object,是为了更好的量化SLO而定义的指标,表示单位时间内服务可用时长的百分比,也就是我们常见到的几个9
SLA:servcei level aggrement,是一个保证达到某SLO的承诺。服务提供企业,如阿里云,在与客户端签订协议时,保证达到某个SLO,这个协议的SLA,当达不到SLO时,做出怎样的赔偿等,如下模拟协议(瞎写的啊!):
我,阿里云承诺,如果服务SLO达不到2个9,则赔偿客户《大帅哥公司》一百万元人民币,特此声明。
所以这里最重要的其实就是SLO了,其通过几个9来量化服务的可用性,如下:
1年=365天=8,760小时
2个9(99%):
8,760小时*(1-99%)=87.6小时,即每年有87.6小时服务是不可用的
3个9:
8,760小时*(1-99.9%)=8.76小时,即每年有8.76小时服务是不可用的
4个9:
8,760小时*(1-99.99%)=0.876小时=52.6分钟,即每年有52.6分钟服务是不可用的
几个9的计算方法为1-百分比,然后取以10为底的对数,之后取绝对值,如99%就是lg(1-0.99)=|-2|=2,所以就是2个9。99.9%就是lg(1-0.999)=|-3|=3,所以就是3个9。