系统的稳定性如何建设

系统面临的问题
1. 运维
  • 灾难:机房停电,网络不通
  • 单个容器异常
  • 中间件访问异常
2. 业务
  • 流量增加:周期性增加(促销)、瞬间流量(秒杀)、异常流量(爬虫、恶意攻击)
  • 业务改动变动大:新老版本,历史数据
  • 业务数据规模变大:数据量增加,系统压力大,查询量较大
3. 研发
  • 研发和上线流程
  • 系统拆分问题:屎山代码
  • 系统交互问题,相互调用出现超时、阻塞等
  • 系统感知告警

稳定性解决方案
1. 运维
  • 灾难:冷热备份
  • 单个容器异常:多机器部署,负载均衡
  • 中间件访问异常:心跳检测,慢查询告警,故障转移
2. 业务
  • 流量增加:周期性增加(预知扩容)、瞬间流量(弹性扩容)、异常流量(限流和风控)
  • 业务改动变动大:数据版本号
  • 业务规模变大:数据归档,分库分表
3. 研发
  • 研发和上线流程(code review 工具、测试覆盖、灰度发布)
  • 系统拆分问题:领域拆分、核心和非核心、流量大小划分、核心业务依赖
  • 系统交互问题:熔断、限流、降级、容错
  • 系统感知告警:业务数据告警、系统埋点、错误和warn日志告警
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部