- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
双十一大促供应链服务平台保障经历
展开查看详情
1 .2018双11供应链服务平台保障 新零售供应链中台-梁梁笑
2 .⽬目录 1. 概述 2. 梳理理链路路 3. 峰值评估 4. 容量量评估 5. 性能优化 6. 依赖改造 7. 保障协同 8. 压测检验 9. 项⽬目协同 10.监控治理理 11.战前准备 12.写在后⾯面
3 .1. 概述 上承交易易 下接物流 腰部⼒力力量量 供应链服务平台 物流服务 物流透出 商家订购 容量量管控
4 .1. 概述 梳 峰 容 性 依 保 压 项 监 战 理 值 量 能 赖 障 测 目 控 前 链 评 评 优 改 协 检 协 治 准 路 化 造 同 验 同 理 备
5 .2. 梳理理链路路 祖传代码 上古应⽤用 ⽂文档缺失 ⽆无⼈人可问 . 2理对外接口 2. .1无用接口 梳理理产出⼀一份链路路 ⽂文档,是后续⼯工作的纲领 3. 剩余接口2理 性⽂文件 4. 确认强弱依赖
6 .3. 峰值评估 交易易下单: 交易 总⼊入⼝口 务 下单 确定性 预测 业务预测: 历史 收集细化 经验 缺失瞬值 历史经验: 历次⼤大促 峰值预测 流量量漏漏⽃斗 改造变更更
7 .3. 峰值评估 概括 峰值 接口 行业 /标 峰值 峰值 商品 渲染 分接口/行业 详情 下单 快消 美妆
8 .4. 容量量评估 ⼀一定单机QPS下 UNSZ单元的机器器 承接6.52%的流量量 预估机器器+预估QPS? UNSHYUN UNSZYUN 现有机器器+当前QPS? 缺⼝口机器器? 21.74% 21.74% 最短的那块⽊木板? 限流值⼏几何? UNSZ UNZBMIX 6.52% 10.87% CENTER UNZBMIX25G 13.04% 15.22% UNSH 10.87% 预留留⼀一定的buffer
9 .5. 性能优化 机器 链路 性能 峰 预算 梳理 优化 流量 基于已有的机器器预算,和之前梳理理出来的接⼝口链路路,我们需要 ⼀一些⼿手段优化性能来⽀支持峰值流量量
10 .5. 性能优化 • 在c-ient端屏蔽流量 减少流量 • 在se/ve/端屏蔽流量 • 根据业I需求下线无用的IO逻辑 移除/降 • 大促r间根据业I特点降级部分IO 级IO 减少IO调 • 单个t询改c量t询 业务特点 用 玩法特点 移除sS • 移除Qvt没用的日志Q滥用的日志 IO • 短时间内l据不变的a况下,进行缓存,避免多余的IO >用缓存 • 拉长缓存失k时间,i高命中率 缓存命中 • 预热充分 率 • tai/序列Jn式修改,Java >Hessian 缓存O吐 • 字段精简 • 尽量用sS缓存在tai/H挡一层,避免网络IO sS缓存 • check慢&QL、离线e库任I、清理碎片&整理 l据库 • Lh高频率低k的sS代码 sS代码
11 .6. 依赖改造 弱 依 系统对业务的⼀一种保障 赖 -> 强 依 强->弱: 赖 强依赖->弱依赖 不不影响核⼼心 防雪崩 弱->强: 确定性 下游依赖 兜底 资损
12 .7. 保障协同 重度依赖的其他系统,其优化和保障措施,也是重要的⼀一环 • 预热 • 缓存 • 流量分组 • 新模型 商品 库存 心 心 订购 容量 心 心 • 预热 • 批量扣减 • 防雪崩 • 减少跨表 中间件同学⼤大规模要求升级的时候 ⼤大促也就近了了
13 .8. 压测检验 压测费肝 整个双⼗十⼀一期间总共经历12次全链路路压测,真⼼心费肝 • jst(ck查看线程堆s,N现很多线程)lockSlog)(ck输出h志的地g o地线程池满 • 查看源码N现k一个很大的JSON对象b印,且utx量过来都Db 印 • 鹰眼N现k一个长达3s的请求,超i 超i请求 • checkON现j查询DB超i(索引问题 • N现该部Jf据缓存n预热 • 通过a工c行j3(p命C触NGC来释e内存 • N现c行j3(p的i候(DGoffline对应l务 ,对应p器B然对外l务, j3(pi超i 且k超i • check对应的offline脚o,N现因为镜像L级,导致Linux命C输出与 老脚o预m不一致 回过头看看,压测的意义还是很⼤大的 每⼀一次压测都是对上⼀一轮优化结果的验证 同时,每次压测的问题,也是对下⼀一次优化的主要⽅方向
14 .9. 项⽬目协同 豫则⽴立 不不豫则废 协同 责 机制 人 务 文档 项目间 拆解 沉淀 验证 风险 考核 识别
15 .10. 监控治理理 看 监控治理 告警 系统监控 除去传统的看图和告警 + 还有如统计和拉单等,即消防处理理 业务监控 会出错的事总会出错
16 .11. 战前准备 执行前置预案 所有的优化到位后, 预热 ⼤大促开始前1-2天, 按部就班执⾏行行各类计 一致性检查 划动作 资源检查 清理数据库 map释放内存
17 .12. 写在后⾯面 • 整个⼤大促保障期间,涉及到众多的系 统、⼈人和业务; 系统 • 每个系统和业务可能分别是不不同团队 在负责; • 要做链路路分析、模型分析、容量量评估、 ⽬目标评估; 业务 • 要协调和明确各节点间的职责划分; • 要做各类优化、压测、监控和反馈; • …… 整个过程,是⼀一次⼈人与⼈人,⼈人与对象间的碰撞; 精密的仪器器产⽣生完美的作品
18 . 3 + 8 8