推荐阅读
前言:海恩法则和墨菲定律
海恩法则
- 事故的发生是量的积累的结果。
- 再好的技术、再完美的规章 , 在实际操作层面也无法取代人自身的素质和责任心 。
墨菲定律
- 任何事情都没有表面看起来那么简单 。
- 所有事情的发展都会比你预计的时间长 。
- 会出错的事总会出错。
- 如果你担心某种情况发生,那么它更有可能发生 。
警示我们,在互联网公司里,对生产环境发生的任何怪异现象和问题 都不要轻易忽视,对于其背后的原因一定要彻查。同样,海恩法则也强调任何严重事故的背后 都是多次小问题的积累,积累到一定的量级后会导致质变,严重的问题就会浮出水面 。 那么,我们需要对线上服务产生的任何征兆,哪怕是一个小问题,也要刨根问底: 这就需要我们有技术攻关的能力,对任何现象都要秉着以下原则: 为什么发生? 发生了怎么应对? 怎么恢复? 怎么避免? 对问题要彻查,不能因为问题的现象不明显而忽略 。
一、可用性度量和考核
业务可用性:
所谓业务可用性(availability)也即系统正常运行时间的百分比,架构组最主要的 KPI (Key Performance Indicators ,关键业绩指标)。对于我们提供的服务(web,api)来说,现在业界更倾向用 N 个9 来量化可用性, 最常说的就是类似 “4个9(也就是99.99%)” 的可用性。
故障时间=故障修复时间点-故障发现(报告)时间点
服务年度可用时间%=(1-故障时间/年度时间)× 100%。
故障的度量与考核
对管理者而言:可用性是产品的整体考核指标。 每个工程师而言:使用故障分来考核:
服务级别可用性:
如果是一个分布式架构设计,系统由很多微服务组成,所有的服务可用性不可能都是统一的标准。
为了提高我们服务可用性,我们需要对服务进行分类管理并明确每个服务级别的可用性要求。