京东春晚活动之高流量高用户量级的技术实践 邓金星资深技术专家 邓金星 京东资深技术专家 1、目前主要负责京东营销相关业务开发 2、有低代码、大型活动开发实践经验 01高流量高用户量级的大型活动特点与挑战 contents 录 目02全链路稳定性备战实践 03低代码支持活动开发提效 04总结与展望 PART01 高流量高用户量级的大型活动特点与挑战 权益类型多 优惠券、红包、省省卡、超市红包、超级大奖 发放量级大 发放策略复杂 拉新、复购 倒排期 需求变化 1.1大型活动的技术特点 超大流量 突发流量 瞬时爆发流量的系统稳定性问题 流量难以预估 涉及资源问题 流量链路长 上游链路依赖 规模大 机型多 地域分布广 身份多 老客、新客、下沉 高用户量级、高资金规模的互联网最大流量活动 流量用户 资金需求交付 如何按时高质量交付? 1.2大型活动的技术挑战 更多的服务器、中间件和存储资源 更多的机房带宽 更多的CDN资源和带宽 机型适配 页面加载速度 服务性能 稳定性 0舆情 资金安全(风控、资金防损)系统安全(恶意攻击) 如何0事故0资损0舆情顺利承接春晚流量面临挑战? 成本体验 效率 PART02 全链路稳定性备战实践 2.1大流量稳定性应对-后端 将超容量的大流量拆分为对于服务和中间件可控的小流量,使用日常架构来承接小流量。 单元化架构 网关 根据用户唯一身份ID拆分 流量预估 流量经验 + 预估模型 流量分发场景+变量 容量预估 数据结构大小*数据数 缓存 数据库记录大小*记录数+索引 数据库 集群1 集群N 缓存MQ 上游服务 上游服务 … 数据库 流量拆分 超大流量 垂直 拆分 应用 可控小流量集群(服务和中间件) 网关 应用 可控小流量集群(服务和中间件) 缓存 MQ 数据库 流量地图 A F D 网关 B G E C 上下游协同备战,对齐流量信息 流量 性能 网关根据用户唯一身份映射,流量均匀分 分区发到单元化集群。扩展 可根据性能要求加减单元,满足海量 故障 流量场景。独立 一个单元故障不会影响其它单元,可利用灾备集群恢复。 2.2大流量稳定性应对-前端 拉通前端降低对服务和资源的调用 减少CDN带宽资源减少后端调用前端容灾 控制页面大小 资源/素材预置预请求 资源离线加载 图片优化 交互层面流量打散 摇一摇灵敏度、抽奖效果间隔 请求合并、字段精简 分页极致懒加载 APP本地数据预置 CDN静态数据 兜底页 兜底体验 2.3大流量稳定性应对-全链路 拉通全链路精细化备战 登录/注册/下载 M下载页CDN 应用商店 APP启动项 •APP发版 •启动项降级 •降频 APP首页 •素材内置 •页面数据内置 •四重兜底 前端 •资源内置、离线加载 •页面、资源精简 •流量打散 •极致懒加载 •兜底体验 网关 •精细化限流 •加固 •防刷 •单元化 •服务治理 •垂直调用 •限流 上游服务•超时 数据库 •查询、写入优化 •水平、垂直拆分 •监控告警 中间件 •高性能、高可用 •水平拆分 •联合压测分析性能瓶颈 SOA •单元化 •服务拆分 •请求聚合 •存储、网络交互优化 •批量、并行、异步化 •监控、告警、日志优化 •…. 2.4突发流量稳定性应对 通过流量预热和场景预演,解决瞬时从0到1突发流量和功能开启的系统冷启动 流量预热 全链路预热避免冷启动 前端页面 CDN预热 工具化准实时 html 图片(不同尺寸) 动画 JS、CSS 后端服务 接口预热 高保真脏数据规避 容器 中间件 依赖上游 JVM 线程池 场景预演 时间穿越、验证未来功能和素材 当前时间 未来时间 全链路时间替换 真实场景 验收 配置化 测试 2.5资金安全稳定性应对 通过前中后的资金安全治理和工具建设,亿级资金发放0资损 全流程保障 事后 •快速定位 •快速补发 •自动补偿 事中 •实时核对 •成本管控 •实时数据看板 •错误大屏 事前 •活动风控方案评估•核对场景梳理 •流量报备•利益场景体验评估 •时间穿越检查•应急预案梳理 工具建设-资金核对系统 准实时通知 资金核对系统 FaaS平台 全链路一致性核对 可视化控制反转 发放链路 互动系统 实时核对 采样核对 发奖系统 规则核对上限核对一致性核对 核对规则推送 自动补偿 自动订正 触发器 中台系统 监控告警 … 核对触发 MQ 定时调度 版本管理 核对脚本 最佳实践 前后端扰码 神盾防刷 红黑检测 资金防伪码 2.6稳定性应对案例-未登录抽奖 历史上未有过的新模式,无需账号登录即可完成抽奖,面临不确定流量和用户标识的风险问题 独立域名 IP限频 网关限流 未登录用户 独立LB集群 未登录专属网关 未登录SOA 稳定性方案 唯一性标识 1.基于APP端设备指纹,服务端二次加密生成token,生成未登录用户唯一标识 2.未登录设备转登录后领奖 1.获取设备指纹 2.基于设备指纹,服务端二次加密获得token 不确定性流量 1.全链路隔离部署 2.接入基于设备号的风控服务 3.基于网关的限流降级逻辑,降级为登录抽奖 风险 如何解决不确定性流量问题? 如何解决未登录用户唯一标识问题? PART03 低代码支持开发提效 GOPS全球运维大会2024·深圳站 3.1低代码支持开发提效 通过B端CMS搭建和服务搭建Low-Code能力,快速落地春晚需求 业务流程抽象 + 函数扩展点 权益发放策略可视化搭建 可视化拖拽搭建 规则 流程 基于水滴低代码平台支持运营使用的CMS系统 基于模型自动创建API关联UI界面 API 数据模型 API自动生成CMS页面搭建 自定义API 配置中心 DB 模型 微前端聚合 FaaS函数扩展 表单搭建 表格搭建 页面搭建 角色权限 菜单管理 应用管理 权限管控 PART04 总结与展望 4.1总结与展望 资源节省+ 流量治理+ 资金安全 Thanks 高效运维社区DevOps时代 荣誉出品 THANKS 感谢大家观看