- 事前:副本、隔离、配额、提前预案、探知
- 事发:监控、报警
- 事中:降级、回滚、应急预案,failXXX系列
- 事后:复盘、思考、技改
failXXX系列
当出现下游调用失败时,我们一般有几种处理方式:
- failretry,即失败重试,需要配合退避时间,否则马上重试不一定会有效果。
- failover,即所谓的故障转移。比如调用下游a接口失败,那么RPC的负载均衡器将会调用a接口提供方的其他机器进行重试;在比如数据库x挂了,应用自适应容灾将对x库的调用切换到y库调用,此y库即可以是faillover库(流水型业务),也可以备库(状态型业务)。
- failsafe,即静默,一般下游链路是弱依赖的时候,可以采用failsafe,即可和failover相结合,比如failover了3次还是失败,那么执行failsafe。
- failfast,立即报错,failfast主要让工程师快速的感知问题所在,并及时进行人工干预。
- failback,延迟补偿(回血),一般可以采用消息队列或定时扫描等。