您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023第十二届全球TOP100软件案例研究峰会]:腾讯-陈和-腾讯游戏活动开发提效之路 - 发现报告
当前位置:首页/行业研究/报告详情/

腾讯-陈和-腾讯游戏活动开发提效之路

AI智能总结
查看更多
腾讯-陈和-腾讯游戏活动开发提效之路

腾讯游戏活动开发提效实战 陈和腾讯(深圳)应用开发高级工程师 www.top100summit.com 讲师简介 陈和 高级工程师 有十年腾讯游戏应用开发工作经验,经历过从单体架构到SOA架构再到微服务化架构的变迁。 “ 最近两年,主要参与了腾讯游戏智慧营销平台的建设,在保障质量的前提下,以提升活动交付效率为主要目标。 ” 目录 1.背景介绍 6.项目总结2.系统架构 腾讯游戏智慧营销提效之路实战 5.后台赋能 3.前台赋能 www.top100summit.com 4.中台赋能 www.top100summit.com 亮点介绍 腾讯游戏活动开发团队日常需要服务上百款游戏业务,1年活动量过万。游戏多、活动多,帮助活动开发团队提效是我们的主要目标。经过近2年探索和试点,单活动平均交付时间从13天降到了2天,部分活动可在1天内交付。 本次分享会提到123经验,我将逐个给大家分享,希望给大家带来些许启示。 www.top100summit.com 案例背景 为玩家提供多样化的在线营销活动,提升玩家游戏体验。 问题与挑战 活动数量多复杂且多变快速交付保障质量 www.top100summit.com 数百款业务 每日新增50+活动 跨部门、流程长需求灵活多变 业务侧快速验证研发侧降本增效 高并发高可用小失误大损失 www.top100summit.com 公共模块 公共模块 公共模块 破题思路 运行环境 提效工具 •交付效率已达瓶颈,如何突破? A 业务活动 B 业务活动 A 活动 B 活动 A 活动 B 活动 SAAS A 活动 B 活动 SAAS 运行环境 运行环境 运行环境 基础平台 基础平台 基础平台 基础平台 面对频繁多变的场景,公共模块落地有困难吗? www.top100summit.com 2.系统架构 www.top100summit.com 核心实践 •2.1营销系统架构 A SaaS Service-R Service-Q RPC Service-M Service-L Service-K C PaaS Service-J Service-I Service-H B PaaS Service-U Service-T Service-S RPC RPC Gate-Way Gate-Way B SaaS Gate-Way Client A PaaS Service-AService-BService-C Service-D Service-E Service-F Service-G HTTPS C SaaS D PaaS Service-NService-OService-P 业务特点:短、频、快 微服务架构:更小、更快、更灵活 www.top100summit.com 核心实践 •2.2微服务架构的优缺点 优点: •1、服务拆分粒度更细,有利于资源重复利用。 •2、更加精准的进行服务升级,提高系统可维护性。 •3、适用于互联网业务,产品迭代周期会变得更短。 缺点: •1、微服务过多,服务治理成本高,不利于系统维护。 •2、分布式系统开发的技术成本高,对团队挑战大。 核心实践 Internet •2.3微服务管理和维护-K8S引擎 Workernode Kube-proxy Kubelet Masternode kubectl Pod Pod container docker APIServer container controller-manager(replication,namespace,…) scheduler Workernode www.top100summit.com Pod Pod docker container container Kube-proxy Kubelet etcd www.top100summit.com 核心实践 •2.4GDP-开发者平台 应用层 营销活动 灵犀平台 数据挖掘 任务系统 实时分析 战绩查询 … GDP 开发 测试 预发布 灰度 全量 在线运营 蓝盾DevOpsTKE&tenC 贯穿服务交付全流程,保驾护航 成本分摊 资产管理 Buffer调度 性能监控 应用监控 可观测性 安全评估 资源管理 容量评估 数据血缘 业务血缘 混沌工程 运维体系 应急预案 流程对接 容量监控 故障预警 根因分析 全链路压测+ 成本安全 容量管理 质量管理 触发决策事件采集数据采集 作业编排K8S编排云资源编排 运维编排 基于蓝鲸体系作为底座,构建海量在线服务运营支撑体系,解决运营场景下的质量、效率、成本、安全等问题 基础设施云IaaS云PaaS鲲鹏-流式计算TDWTBDS更多… 对接公司基础设施团队,提供高效资源交付能力 核心实践 •2.5系统架构小结 www.top100summit.com 微服务架构 开发者平台 聚焦业务 快速集成 www.top100summit.com 3.前台赋能 www.top100summit.com 核心实践 •3.1前台赋能 前端组件 登录 鉴权 分享 抽奖 兑换 … 前端模板 <%ActID%> <%ActName%> <%TaskList%> 自助更换UI AST www.top100summit.com 核心实践 •3.2前台赋能:自助调整UI input 读取 html/css/img load dev 活动代码 Create 模板代码 HtmlParser /CssParser parser commit update(img、text) output 还原为新 Html display AST AST 通过AST分析出img、text节点过滤出可更改的元素自助精准修改AST重新还原出Html www.top100summit.com 核心实践 •3.3前台赋能:自助调整UI •与一般的低代码平台不同,我们是先提供原型。再交给产品进行自助化调整 产品不懂技术,遇到问题该如何解决 远程调试 核心实践 •3.4前台赋能:远程调试主要流程 待调试页⾯ wss服务 https服务 云原⽣服务环境-Node 1调试请求 5建⽴链接 2派发token 6鉴权通过,链接建⽴OK 3建⽴链接 9调试指令 7页⾯已链接,可以开始调试 10响应信息 8调试指令 11响应信息 鉴权/token派发 socket通信/链接/关闭 业务逻辑相关 调⽤ MiloDebugSDK ⽤户操作 Server端 调试控制台 www.top100summit.com e DOM network 调试⾯板能⼒ consol 预览 storage … MiloConsoleCore 开发操作 4⽣成带token的调试链接给到⽤户进⼊ 核心实践 •3.5前台赋能:控制台远程调试原理 这⾥的console脚本控制台指在调试端可以运⾏脚本在页⾯执⾏,以及显⽰页⾯的⼀些log信息的模块。 Console模块 调试SDK Log显⽰主动上报监听错误、log等信息 脚本执⾏ 脚本数据下发 Exec脚本,返回结果 结果上报 1.console.log,error,info等钩⼦ 2.window.onerror钩⼦ www.top100summit.com 调试控制台 Ws服务(通信中转) ⽤户端/页⾯端 www.top100summit.com 核心实践 •3.6前台赋能:控制台远程调试原理 日志显示以及脚本执行结果显示 脚本编写区 www.top100summit.com 核心实践 •3.7前台赋能:Network远程调试原理 这⾥的Network指在调试端可以查看到⽤户页⾯上发送的所有⽹络请求。 静态类型 ⾃主上报 Xhr监听 Fetch监听 Network模块 Network事件 调试SDK Network事件上报 包括 处理 Network事件上报 协作端 Ws服务 ⽤户端/页⾯端 解决列表性能问题 networklist showlist 业务处理 筛选过滤 监听⽹络请求 networklist ⽀持检索 分类显⽰ 接⼝⽇志 业务提⽰ www.top100summit.com 核心实践网络模块可以看到整个页面的网络请求,可关键字&类型筛选 •3.8前台赋能:Network远程调试原理 www.top100summit.com 4.中台赋能 www.top100summit.com 核心实践 •4.1中台赋能:概览图 … 充值有礼 人拉人 神秘商店 红包雨 预流失 活动模板 PaaS 通用服务 任务 排行 实时干预 抽奖 兑换 组队 … 基础服务 指标服务 发货服务 积分服务 推荐服务 支付服务 事务服务 … GDP 构建 部署 扩缩容 日志查询 监控 限流 负载均衡 … 基础设施 CVM DB Cache 网络 容器 安全 备份 … 核心实践 •4.2中台赋能:开发流程 设计 •提出概念,确定责任人 •遵守单一职责原则 •请求统一走API网关 •逻辑和状态(存储)分开 •支持分布式跟踪 •做好监控和日志记录 www.top100summit.com 优化改进 开发 使用 收集数据 摸着石头过河 小步快跑,逐步优化 www.top100summit.com 核心实践 •4.3中台赋能:使用低代码平台制作活动模板 流程图 schema 执行引擎 启动 解析Schema节点解析依赖解析 调用链构建 流程执行 核心实践 www.top100summit.com •4.4中台赋能:使用低代码平台制作活动模板 开启流量限制开启登录校验 开启验证码更多开关… www.top100summit.com 核心实践 •4.5中台赋能小结 将通用逻辑抽象成微服务,为活动开发赋能 基于实际场景,将不同微服务集成,汇总形成活动模板。活动模板后台接口可直接使用,无需开发。 对于简单的微服务集成,使用低代码平台非常直观、更高效、也更安全。 www.top100summit.com 5.后台赋能 www.top100summit.com 核心实践 •5.1后台赋能:可观测性平台 核心实践 www.top100summit.com 活动规则 后台模板 活动A UI自助 模板 活动B 效果分析 前台模板 活动C 模板管理平台 活动管理平台 •5.2后台赋能:模板管理平台&活动管理平台 活动时间 任务:等级10奖励:金豆 核心实践 •5.3后台赋能:运营提效工具 场景1 中奖概率0.01% 场景2 升级到30级领礼包 场景3 支付¥66购买礼包 www.top100summit.com 直接修改活动配置 白名单规则+监控告警 成果展示 13人天 5人天 2人天 1人天(目标) 大部分功能定制 2022H2 快速编排微服务 2023H1 使用全模板+二次开发 2023H2 使用全模板+自助UI2024-? www.top100summit.com 2023年共试点了710+个活动 www.top100summit.com 案例复盘与总结 【123经验】 •1个微服务架构,解决营销活动短、频、快的场景 •2个辅助工具:远程调试工具、低代码编排工具 •3个环节:前台、中台、后台,皆有可为 •5个系统平台:GDP开发者平台、模板管理平台、活动管理平台、可观测性平台、数据分析平台 www.top100summit.com 案例启示 ①应用层应该具有进化的能力,微服务、PaaS、SaaS、智能化 ②提供坚实的基础设施,开发运维一体化。 ③使用微服务架构,大系统小做。 ④提效是一个系统化工程,处处