1. 如何保证架构的质量:
- 稳定性、健壮性
(1). 系统稳定性:
- 定义: a. 当一个实际的系统处于一个平衡的状态时,如果受到外来作用的影响时,系统经过一个过渡过程仍然能够回到原来的平衡状态. b. 可以说这个系统是稳定的,否则系统不稳定 c. 如一根绳子绑着小球,处于垂直状态,当受到外力作用时,最后还是会处于垂直状态
- 是架构设计的基石
- 可以更好的实现自我修复
(2). 系统健壮性:
- 定义: a. 计算机软件在输入错误、磁盘故障、网络过载或有意后,能否不死机、不崩溃,就是软件健壮性的具体表现 b. 即一个系统容错能力强、运行不易被干扰,安全性好
- 系统的健壮性的度量标准: a. 一个软件可以从错误的输入推断出正确合理的输入 b. 一个软件可以正确的运行在不同的环境下 c. 一个软件能够检测自己内部的设计或编码错误,并得到正确结果
2. 架构质量的衡量标准:
- 扩展性
- 易于维护性: a. 开发过程中或线上有一个问题,能够快速定位、修复、解决
- 可管理性: a. 整体的软件架构,进行合理的管控范围内
- 高可用: a. 故障修复、容灾、降级、熔断
3. 日常开发过程中的架构质量标准:
- 理解难度
- 接入依赖成本: a. 接入依赖需要变动到整体核心 => 失败
- 崩溃率和错误率的指标
- 开发效率
- 错误上报和信息收集等功能