淘天(范导)_一分钟一千万_天猫双十一背后的互动游戏引擎_27页_3mb
报告摘要
《一分钟一千万:天猫双十一背后的互动游戏引擎》总结
核心内容
天猫双十一大促互动游戏引擎是淘天集团为应对高并发、高数据一致性、研发周期短等挑战而构建的系统。该系统通过一系列核心实践,包括领域驱动设计(DDD)、聚合根设计、规则调控、观测预判、快速扩容等,实现了从0到1的互动基础平台建设,稳定支撑了集团多个BU的上百个互动类业务场景。
主要观点
- 互动游戏的背景与挑战:互动游戏是多人在线实时游戏与大型营销活动的结合,具有流量不确定、研发周期短、用户体验敏感、高QPS和高数据一致性等特征。
- 确定性的抽象:通过抽象出确定性的流程和功能模块,如组队、匹配、PK、结算、奖励瓜分等,构建了可复用的模型与框架(IGF),极大提升了研发效率。
- 领域驱动设计:面向领域设计,将业务逻辑与底层数据存取、异常处理等细节分离,使系统更专注于业务实现。
- 聚合根设计:通过聚合根设计,实现高QPS下的数据强一致性、高性能和原子性操作,减少IO操作和并发锁粒度。
- 流量调控与观测预判:通过游戏规则削峰、建立流量预估模型,以及实时计算技术,预判系统水位并实现弹性扩缩容。
- 弹性扩缩容:通过GAIA平台实现容器的快速扩容与资源优化,降低运维成本,提升资源利用率。
关键信息
领域驱动设计(DDD)实践
- 流程的确定性:抽象出统一的流程模型,如组队、匹配、PK、结算等,支持不同玩法的快速适配。
- 功能的确定性:识别出通用的功能模块,如道具能力、战斗能力、资产能力、组织能力,提升模块复用率。
- 实体与聚合根:通过聚合根设计,将多个实体聚合为一个整体,减少IO操作,提升性能和一致性。
- 定制序列化协议:优化实体结构,减少数据传输量,提升系统性能。
- 并发锁粒度控制:通过优化存储结构,如使用Redis HASH存储,减小锁粒度,提升并发处理能力。
流量不确定下的应对策略
- 规则调控:通过游戏规则设计,如限时翻倍、随机触发等,实现流量削峰,提升系统稳定性。
- 观测预判系统水位:建立QPS与装备数之间的关系模型,结合历史数据进行实时预测,提前做好资源准备。
- 弹性扩缩容:支持多种扩缩策略配置,确保在高流量下系统仍能高效运行,降低运维成本。
技术成果
- 用户体验提升:支持180万+在线用户,200万+QPS,平均服务端响应时间6ms。
- 技术幸福感提升:处理5000万+战队,1分钟内匹配1000万战队,30分钟内结束值班。
- 业务成本下降:单机吞吐量提升300%,资源利用率提升100%,运维成本下降50%。
总结与启示
- 做好取舍:在本地化与服务化、IO密集与计算密集、绝对一致与最终一致、聚合存储与分布存储之间做出合理取舍。
- 打破常规:采用自上而下的领域设计,通用的存储结构设计,以及灵活的弹性策略,适应不同业务需求。
- 理解下游:关注依赖服务和中间件的SLA、存储单行/单KEY的大小、事务范围、乐观锁影响范围以及单个实例的带宽瓶颈。
- 下一步:持续优化系统架构,提升性能与稳定性,探索更多创新玩法与技术方案,为未来大促活动提供更强大的支撑。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载