(接上篇)
业务正确性和容错性
系统不仅需要业务功能结果正确,还需要在业务发生问题的时候能够尽量多的提供诊断和恢复支持。
设计时
设计时可以识别的设计要求大致有:
- 业务错误可以回查。
- 业务过程可以回查。
- 业务操作可以回查。
- 系统故障情况下业务(一定程度上)可以持续。
为满足此要求,需要:
- 定义业务过程、业务状态。
- 记录业务过程和状态的变化。
- 为各个状态定义业务备案。
- 记录业务操作。
业务接入时
- 业务被误用。
- 明确的业务定位
- 系统之间业务状态不正确或不明确。
- 记录业务进出口状态。
日常趋势
- 事故趋势恶化
- 业务逻辑有问题?
- 用户体验有问题?
- 用户体验数据
- 需要事故记录
事故时
- 系统操作中断,比如可用性事故引起。
- 需要各个状态定义业务备案。
- 事后发现业务结果不正确。
- 记录业务过程状态变化。
- 系统错误
- 大范围错误 - 归结为可用性事故。
- 局部错误 - 归结为bug。
- 需要系统错误率实时监控和报警。
- 需要系统错误持续记录和分析。
小结
综上,为持续保障系统正确性,需要采取的措施有:
- 明确的业务定位。以及定期review。
- 定义各个业务过程、业务状态。
- 业务过程和业务状态的变化的记录。
- 各个状态定义业务备案。
- 业务操作的记录。
- 业务进出口状态的记录。
- 用户体验数据持续记录和分析。
- 系统错误率持续监控和阙值报警。
- 系统错误持续记录和分析。
- 事故记录与分析。