考虑的重点:
(请求)
并发请求
重复请求
超量请求
请求积压
(处理程序)
Bug
处理中断
处理超时
(资源)
资源不可用
资源响应超时
(外部服务)
通信中断
服务不可用
外部服务器响应超时
外部服务违背功能契约
应对方式(参考)
原则:避免发生,降低概率,控制影响,快速恢复。
故障条件 | 应对方式 |
超量请求 | 配额控制,如订单号提前生成,控制额度 |
重复请求 | 幂等控制 |
并发请求 | 并发控制netty、mina等 |
请求积压 | 请求丢弃 |
服务/资源响应超时 | 时间控制 |
可恢复通信故障 | 合理重试 |
处理中断 | 事务/补偿机制 |
Bug | 自检 |
1.幂等
2.事务
3.并发
第三方支付成功后,异步消息+日志:
异步消息代表成功后要处理的标识,通过异步处理方式完成业务。
日志,根据日志定期扫描,有不成功的进行补偿。