07 July 2026

主动发现

系统建立后,需要相应的指标来评判系统是否运行正常。因此需要明确用什么指标、监控什么内容、达到什么效果。

系统指标

  • 业务系统
    • 可观测平台、云平台可提供各类系统级指标,挑选其中关键指标,建立报警机制,并梳理系统大盘,目标是”当发生系统故障时,可通过系统大盘初步判断故障点”
    • 指标示例
      • 主被调:调用量、成功率、调用耗时(P99)
      • 其他:
        • 运行时指标:堆、协程使用量、使用率等
        • 容器指标:CPU、内存、硬盘、网络使用量、使用率等
    • 报警:同比、环比的变化量、变化率报警
  • 依赖组件
    • 可观测平台、云平台可提供各类系统级指标,挑选其中关键指标,建立报警机制,并梳理系统大盘,目标是”当发生系统故障时,可通过系统大盘初步判断故障点”
    • 指标示例
      • MQ:消息生产量、消息消费量、消息消费延迟、磁盘使用量等
      • Cache:内存使用量、MISS率、大key数量、连接使用量等
    • 报警:同比、环比的变化量、变化率报警

业务指标

系统指标全部正常不代表业务运转正常,例如在投放RTA服务中,系统调用全部正常,但放行率、放行量环比大幅下跌,那肯定是出问题了。

  • 梳理指标
    • 梳理业务流程中的关键业务节点、业务功能,并找出哪个指标能表征该环节、功能是正常运行的
  • 指标监控
    • 针对梳理出的指标建立同比、环比变化量、变化率的监控,设置报警
  • 业务大盘
    • 结合业务流程、关键业务指标,建立业务大盘,目标是”当发生系统性业务异常时,可通过业务大盘初步判断是在哪个环节出了问题”
  • 定期更新
    • 定期复盘业务功能变化,重新梳理业务指标,并调整监控、大盘

被动防御

主动发现问题了,但真有问题时要能够防得住,控制系统爆炸半径,保证系统整体运行正常。

安全

  • 系统安全
    • 网关层面的安全过滤、异常流量过滤,这个靠安全团队与网关层的配合,或者直接使用云平台的安全策略
  • 业务安全
    • 关键业务功能在开发时,需要与安全团队配合,根据业务功能设定相应的安全打击等级,执行业务功能时,进行安全过滤

流量

  • 开发前:与业务方、合作方评估业务功能,根据数据、历史评估预计流量;根据预计流量设定技术方案,设立需要比预估流量更大的流量来设计方案,例如预估1,设计10,部署5
  • 开发中:按照技术方案进行开发,做好单功能、单节点的benchmark
  • 上线前:全流程性能测试,确保性能指标;各系统按照预设流量做好限流,地区级、系统级、业务级,确保超出流量时,不会拖垮整个系统
  • 上线后:结合”主动发现”做好关键指标(系统、业务)的监控、报警
  • 常规事项:定期全流程性能测试

以练代战

代码

  • 建立项目生成器
    • 目标
      • 统一开发语言、版本,统一目录结构、依赖包版本、组件最佳实践等,使开发人员聚焦于业务开发
      • 打通项目生成、代码库管理、流水线管理、云平台服务创建
  • 通过流水线,建立质量红线,未达质量红线不准提交代码
    • 规范分:满分
    • 单测:整体50%,关键路径100%
  • 定期运行流水线
    • 单测
    • benchmark
    • 回归测试
      • 业务回归测试
      • 性能回归测试

系统

  • chaos演习
    • 定期组织演习:在调用链路中注入错误,根据处理结果判断是否符合预设错误处理流程

组织

建立值班机制,确保有人及时响应问题