Non-functional System Characteristics
在非功能相关的系统需求中,主要可用性(Available)、可靠性(Reliable)、扩展性(Scalability)、容错性(Fault Tolearance)这四个性质。
一、可用性(Available)
1. 定义可用性(What is availability)
可用性是指某些服务或基础设施可用客户端访问并在正常条件下运行的时间百分比。例如,如果一项服务具有100%的可用性,则意味着该服务始终按预期按预期运行并响应(正常运行)
从定义上看,可用性重在客户端与服务端的请求正常反应的时间比
2. 测量可用性(Measuring availability)
Available(百分比) = (总运行时间 - 服务暂停服务时间)* 100 / 总运行时间
注释:总运行时间(Total time),服务暂停服务时间(Amount Of Time Service Was Down)
从上面的公式可以知道,可用性在于服务是否能正常运行
3. 业界使用9的数量来形容可用性程度

二、可靠性(Reliable)
1. 定义可靠性
Reliability, R, is the probability that the service will perform its functions for a specified time. R measures how the service performs under varying operating conditions.(暂时无法理解)
2. 测量可靠性
我们经常使用平均故障间隔时间 (MTBF)和平均修复时间 (MTTR)作为衡量R指标。(我们争取更高的MTBF值和更低的MTTR值。)
- MTBF = (总时间 - 停机时间总和)/ 失败总数
- MTTR = 总维护时间 / 维修个数
注释:总时间(Total Elapsed Time)、停机时间总和(Sum of Downtime)、失败总数(Total Number of Failures)、总维护时间(Total Maintenance Time)、维修个数(Total Number of Repairs)
3. 对比可用性
Reliability and availability are two important metrics to measure compliance of service to agreed-upon service level objectives (SLO).【可靠性和可用性是衡量服务是否符合商定的服务级别目标 (SLO)的两个重要指标。】
- 例子1
某个系统可能 90% 可用,但只有 80% 的时间可靠。 - 例子2
假设我们将“系统”视为数据中心内部的东西(硬件 + 软件)。假设该数据中心发生网络故障,没有外部流量流入,也没有内部流量流出。在这种情况下,即使在数据中心内部,所有系统都运行良好(瞬时可靠性 100%),瞬时可用性也可能为零(因为客户端无法访问服务)。