微服务高可用设计?
发布于
一、无状态服务
- 服务不保存状态,状态存 Redis/DB。
- 多实例部署,负载均衡。
- 任一实例挂了不影响。
二、服务发现
- 注册中心(Nacos/Eureka)。
- 服务实例上下线自动感知。
- 客户端负载均衡跳过不健康节点。
三、健康检查
- 注册中心心跳检测,不健康实例剔除。
- K8s liveness/readiness 探针。
四、熔断降级
- Sentinel/Hystrix 防止故障蔓延。
- 降级返回兜底数据。
五、限流
- 保护服务不被压垮。
- 网关限流 + 服务限流双层。
六、多机房
- 同城双活、异地多活。
- 数据同步(DTS、消息队列)。
七、灰度发布
- 金丝雀发布,逐步放量。
- 出现问题快速回滚。