保障系统稳定高可用的方案
导致系统不可用的原因
硬件故障
软件 BUG
系统发布
并发压力
网络攻击
外部灾害
高可用方案
解耦
高内聚、低耦合的组件设计原则
面向对象基本设计原则
面向对象设计模式
领域驱动设计模式
隔离
业务与子系统隔离
微服务和中台架构
生产者消费者隔离
虚拟机与容器隔离
异步
多线程编程
反应式编程
异步通信网络编程
事件驱动异步架构
备份
集群设计
数据库复制
失效转移
数据库主主失效转移
负载均衡失效转移
幂等
事务补偿
重试
关注超时时间的设计
熔断
断路器设计
限流
限流算法:计数器算法(固定窗口、滑动窗口),其中固定窗口的临界点问题;令牌桶算法;漏桶算法;自适应限流
降级
高峰期关闭非核心功能
异地多活
难点:数据一致性
评论