一、背景
-
涉及面广:
- 端: … 等等
- 渠道: 到店综合、到店餐饮
- 形式: 页面 + 接口 流量特点:
- 存在波峰波谷
- 周一至周五高 关键问题:
-
-
保障链路稳定
- 关键链路故障: mq, cache, es, 第三方支付渠道, 供应商系统
-
-
数据一致性
- 链路长、异步交互、一致性保障
-
-
系统容量评估
- 瓶颈在哪: 连接池耗尽; 线程池耗尽; 队列阻塞
- 服务能力安全线: YoungGC、FullGC 频繁; 某个依赖变慢引发雪崩
二、解决方案
1. 链路稳定
- 依赖治理: 强依赖可降级; 弱依赖可熔断; 限流
- 超时治理: 配置化
- 解耦/隔离:
- 读写隔离、异构存储
- 冷热隔离:范围查询、离线导出、查es、实时查询、查mysql业务试图
- 主流程同步调用,辅流程异步调用
- 容灾预案:
- 灾备通道: 返现、投/退保、用户通知、业务监控
- 降级级别:级别1:业务无损;级别2:核心业务可用;级别3:核心业务有损
2. 数据一致性保障
- 幂等重试 + 异步补偿(延迟队列):
上游可重试,可发出多个相同消息,下游收到消息后的操作必须是幂等。涉及第三方供应商时,供应商系统慢,为了提高系统吞吐量出此下册 - 上游异步通知 + 下游主动轮询:
上游发异步消息,由于消息可能丢失,下游对超时的等待进行轮询 - SAGAS模式:大事务拆成小事务 + 失败时逆向补偿
长事务拆分成小事务,小事务可逆向回滚 - 离线检测 + 离线补偿
新项目:正确性检测平台
3. 系统容量评估
- 多机房双倍冗余基础上:压测