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