Skip to content

web系统稳定性建设

单服务维度

  • 强弱依赖治理, 针对下游调用做熔断、降级
  • 针对上游调用做限流、降级
  • 配置合理的超时时间 和 线程池容量
    • 异步,提高系统稳定性和响应时间
  1. 设计阶段
  • 冗余设计,确保系统关键组件有冗余,避免单点故障。可以通过负载均衡、集群和多数据中心部署来实现。
  • 可扩展性 将系统划分为多个独立的服务,各自负责特定功能,可以独立部署和扩展,减少单个服务故障对整体系统的影响。
    • 兼容性设计,包括向前兼容和向后兼容的设计,确保新旧版本之间的平滑过渡。
  • 关键服务做巡检。关键数据做对账
  • 容灾部署,比如多区部署
  • 隔离部署,不同系统隔离,在线系统、离线系统、近实时系统隔离
  1. 数据存储

    • 读写分离:将数据库的读写操作分开,通过主从复制来分担负载,提高性能和可靠性。
    • 分片(Sharding):将数据分散到多个数据库实例中,减少单个实例的压力,提高扩展性。
    • 数据定期备份:定期对数据进行备份,确保数据的安全性和可恢复性。
  2. 开发阶段

  • 代码质量
    • CR 形成团队代码规范
    • 借助代码扫描工具, 比如 SonarQube 进行代码质量检查
  • 持续集成
  • 版本管理
  1. 测试阶段、
  • 自动化测试
  • 性能测试
  • 安全测试
  1. 部署阶段

    • 持续部署
    • 可灰度
    • 可回滚
  2. 运维阶段

  • 实时监控
  • 自动报警
  • 日志管理
  1. 容错和恢复
  • 自动化故障恢复:配置自动化的故障检测和恢复机制,如服务自动重启、自动切换到备用系统等。
  • 灾备方案:制定并定期测试灾难恢复计划,确保在灾难发生时能够快速恢复系统运行。