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