《2019年腾讯游戏营销平台的十年架构演化.pdf》由会员分享,可在线阅读,更多相关《2019年腾讯游戏营销平台的十年架构演化.pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、腾讯游戏营销系统的十年架构演化互动娱乐事业群/增值服务部游戏营销系统架构师、道具仓库负责人系统概述与规模营销系统架构演进与优化总结与心得123什么是腾讯游戏营销系统?PCH5游戏内在游戏生命周期的各个阶段,支撑游戏的推广、拉新、活跃、营收、留存、回流等运营活动的系统平台。2.8w+同时在线活动数260+每天上线活动数600+服务业务数入口请求数十万,每天服务玩家上亿,每天发送道具数亿系统规模营销系统伴随腾讯游戏的发展阶段起步建立期(单打独斗)2003-2007年稳定探索期(小作坊)2008-2012年高速发展期(流水线)2013-2017年成熟应用期(协同共建)2018年至今架构:第二代架构(
2、动静分离与业务独立)QPS:上万规模:近100款游戏(QQ炫舞、地下城与勇士、英雄联盟、穿越火线等)耗时:一周以内架构:第三代架构(高并发配置一体化架构)QPS:数十万高并发规模:数百款游戏(王者荣耀、天天酷跑、全民突击、QQ飞车手游)耗时:最快半小时,配置率90%以上架构:第四代架构(PaaS与微服务架构)QPS:百万以上规模:服务全公司游戏渠道理念:协同共建架构:第一代架构(LAMP)QPS:上千规模:几款游戏(如:凯旋、QQ幻想,QQ宠物,QQ音速等)耗时:一周以上第一代架构-起步建立期业务特点:1、请求量小(QPS上千)2、活动需求简单3、一个人负责一个活动架构特点:1、LAMP2、数
3、十台Web-server3、程序耦合DBbrowserWeb-server架构可用性措施:动静分离业务独立部署公共开发库过载保护智能削峰第二代架构-稳定探索期CDNNginxSquidossweb-Web-serverServicebrowserDBWeb-serverServiceDB需求与特点:1.请求量较大(QPS上万)2.部分人负责一类活动(小作坊)3.访问速度要尽快4.业务之间不能相互影响过载保护之Nginx限流ngx_http_limit_conn_module模块:限制单一IP来源的连接数;限制单一服务器的总连接数;超过最大连接数时返回 503 错误;server.limit_c
4、onn perip 10;limit_conn perserver 1500;Web-server 1browser业务A业务BNginxNginx业务A集群业务B集群Web-server nWeb-server 1Web-server n智能削峰之Apache动态过载保护(mod_tprotect)Apache进程定期写入负载信息到共享内存;tprotect读取负载信息,如果超过阀值响应503系统过载;第三代架构设计业务场景与诉求:手游井喷活动铺天盖地 人力紧张需要高效运营 单个运营活动数十万QPS先扛住再优化高效率:配置化+可视化高并发:堆机器初期策略营销活动逻辑配置化(效率问题)前端功能
5、引擎管理端后端逻辑引擎前端逻辑描述文件后端逻辑描述文件按需加载功能活动基础校验大区角色选择请求安全校验活动基础校验大区角色校验执行活动逻辑用户参与活动抽奖 支付 爱秀 分享 报名 问卷 订阅 签到 邀请 充值 消费 包月 竞猜 点券 网吧 排行 积分 反馈 (34000+)API接口功能白模板规则1规则2规则N条件(26000+)资格(预扣/实扣/回滚)动作(8000+)活动逻辑组装(流程)支持一次性/周期性/动态资格支持多条件与或组合后端引擎前端引擎API仓库实例化零件组装半成品成品操作台引擎WebIDE可视化编程(效率问题)基于Serverless、FaaS,提供在线WebIDE可以快速拖
6、拽完成营销活动逻辑第三代架构初期问题与优化突出问题:单机性能低可用性低故障频现故障不能快速发现链路问题难定位解决方案:高性能框架优化重点模块容灾、过载保护与柔性可用全链路实时监控与告警问题可追溯体系建设优 化高性能协程框架替换CGI(单机性能问题)传统的Apache+CGI的方式调整为自写Server方式;单机处理能力提升10倍以上;整体服务器数量从数千台降到数百台;SPPSwoole+第三代架构与容灾监控基础条件游戏条件QQ属性条件业务模块积分条件自定义条件条件支付购买抽奖发货积分赠送分享邀请点券充值动作一致性保障资格DBRedisTDW其他存储组件接入层引擎层业务层存储层营销逻辑执行(流程