服务质量指标

SLI(service level indicator):表示服务的一个具体量化指标,如可用性、性能(qps、tps、服务内外的平响、TP99等)、正确性、可靠性等,机器的资源占有率;

SLO(service level object):服务质量指标,即基于 SLI 设定的期望值,如请求延迟小于500ms、服务可用性为99.9%等

SLA(service level agreement):服务质量目标,即未达成预期若干 SLO 的情况下,商业侧的补偿;

混沌工程

  概念就是指:在生产环境中故意制造混乱,以测试系统的弹性和稳定性;

  即以故障为核心业务指标,技术+运营持续迭代;

典型故障场景:

  • 变更上线场景
  • 服务宕机 or oom 等异常
  • 网络延迟 or 分区
  • 机房挂掉

牵引业务方布防,泛化故障(即一个故障出现一次,要保证所有场景不会再次出现这种故障)

有损注入:指篡改真实数据;

无损注入:指篡改对账系统的数据(或者日志、监控,但需要注意有没有业务依赖日志,否则就不是完全无损的),如 binlog 同步时篡改,即对真实数据无影响,修复较简单(因为有 源库,有损注入没有 源库);

代码注入:篡改原本的实现(runtime 篡改);

变更

前置防御:特殊时间段不允许变更,如活动;

后置防御:变更后的业务指标是否出现非预期波动;

前置攻击:mock 非法变更,如时间、参数等;

后置攻击:mock 正常变更的情况下,日志 or 监控指标异常;

todo: https://github.com/gocrane/crane,ML+HPA