Golang 微服务在腾讯游戏用户运营领域的探索及实践在腾讯游戏用户运营领域的探索及实践 刘家雄 2017/4/18 Web Architecture 关于我 刘家雄<@楚吟风> 提纲 腾讯游戏用户运营介绍 服务化架构演进 DSL加速敏捷 基准数据 总结及展望 腾讯游戏用户运营 关于腾讯游戏用户运营 Intervene 干预 Measure 评估 User 用户 核心 用户 特权 服务 忠诚度 技术体系 服务化架构演进 演进历程 MVC Middleware Gateway MicroServic e 经典LNMPA架构 先抗住再优化 业务混合部署 面向需求实现 效率质量之痛 流程 敏捷 隔离 性能 安全 监控 中间件技术选型 团队背景 内部生态 业务发展 开发成本 运营成本 Golang CSP并发 多核友好 自动GC 语法简洁 开源库多 CGO集 内核稳定 生态趋势 数据中间件——指标服务 Golang 高性能 高可用 扩展性 安全性 可运营性 业务发展驱动技术演进 服务网关 过载保护 流控降级 SET部署 立体监控 敏捷集成 微服务探索 跨部门 异构系统 非标接口 托管接入 业务隔离 解析适配 IDL • 标准接口 • 字段约定 Script 转码逻辑 • 非标接口 • 逻辑编码 问题 手段0 码力 | 34 页 | 1.22 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台03 模块化开发框架 04 开源新时代的挑战 05 ⾯向云原⽣的软件交付 第⼀部分 ⾯向云原⽣的企业软件产品 - 敏捷开发 - 微服务化和容器化 - 交付标准化 - 可观察性 特点: 敏捷的⽬标是提升研发效能 需要⼀个 DevOps 平台来⽀撑敏捷开发的落地 这⾥需要有⼀个标准的交付平台 运⾏环境 业务 数据 业务系统 C 业务 数据 业务系统 A 业务 数据0 码力 | 40 页 | 8.60 MB | 1 年前3
Go读书会第二期第二部分 整体写作思路 异曲同工 精进之路,思维先行 – part1 践行哲学,遵循惯例,认清本质,理解原理 - (part2- part10) 精进之路,思维先行 异曲同工 “ 语言决定思维方式” - 萨丕尔假说 “ 我的语言之局限,即我的世界之局限” - 路德维 希 · 维特根斯坦(语言哲学奠基人) “ 不能改变你思维方式的语言,不值得学习” - Alan Perlis Perlis ( 首届图灵奖得主 ) Part1 - 进入 Go 语言编程思维导引 站在语言设计者的高度理解 Go 的与众不同 Go 诞生 与演进 Go 设计哲 学 Go 编程思 维举例 怎么学习 Go 思维? 学习本质是一种模仿。要学习 Go 思维,就要 去模仿 go 团队、 go 社区的优秀项目和代 码,看看他们怎么做的 践行哲学,遵循惯例,认清本质,理解原理 Part2 – 项目基础:布局、代码风格与命名 选择高质量图书 • 脑图 + 细节摘录 + 行动清单(输出) 泛读 • 闲书 ( 不烧脑 ) • 碎片化(快读) + 听书 小结 第四部分 小结 • 写书三要素 • Go 精进之路导读:思维先行,践行哲学,遵循惯例,认清本 质,理解原理 • 读书:选高质量图书精读 ( 脑图 + 细节摘录 + 行动清单) 谢谢0 码力 | 26 页 | 4.55 MB | 1 年前3
Golang在接入层长连接服务中的实践-黄欣• 计价数据 – App和服务端双向可达 • 上行(抢单) • 下行(派单) 背景—why golang? • 开发效率 • 异步模型,同步原语 – C:代码上各种回调、思维中保持冷静 – Go:代码上同步,思维自然 • 性能够用,工具齐全 – 100w?10w?~~ – Memprof、cpuprof~ • 社区活跃,发展迅猛 背景—使用现状 • 每天服务于千万级别的司机,数亿的用户0 码力 | 31 页 | 1.67 MB | 1 年前3
1.6 resource scheduling & container technology for financial service_yujun“分布式架构”来了 n “虚拟化”和“云计算”来了 n “大数据”来了 n “互联网金融”和“金融互联网”来了 n “移动业务”来了 n “敏捷”和“Devops”来了 n “去IOE”来了 n “自主可控”来了 Gopher China 2015 金融行业IT基础架构的现状、特点、挑战0 码力 | 21 页 | 27.20 MB | 1 年前3
go-zero开源项目的成长史代码提交到 GitHub • 规划发展路线 • 梳理推⼴思路 • 找渠道、建社区 • 分析⽤户 go-zero 开源伊始 • 定⽬标 • 找渠道 • 建社区 • 有数据驱动的思维 • 分析渠道 • 分析⽤户 • 分析ROI go-zero 开源伊始 • 技术分享 • GoCN • Go夜读 • InfoQ • ArchSumit go-zero0 码力 | 31 页 | 4.83 MB | 9 月前3
05. OpenKruise镜像预热实践_王思宇阿里云开源的基于 Kubernetes 的云原生应用自动化套件 • 阿里巴巴经济体上云全面使用的部署基座 社区用户: • 携程、OPPO、斗鱼TV、有赞、苏宁、比心、Boss直聘、申通、小红书、火 花思维、VIPKID、掌门教育、杭银消费、万翼科技、多点Dmall、佐疆科技、 享住智慧、艾佳生活、永辉科技中心、跟谁学、Deepexi、哈啰出行 • Lyft、Bringg、Arkane Systems、Spectro0 码力 | 28 页 | 5.78 MB | 1 年前3
Hello 算法 1.1.0 Go版的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子问题”的思维范式,这种分治策略至关重要。 ‧ 从算法角度看,搜索、排序、回溯、分治、动态规划等许多重要算法策略直接或间接地应用了这种思维 方式。 ‧ 从数据结构角度看,递归天然适合处理链表、树和图的相关问题,因为它们非常适合用分治思想进行分 析。 2.2.3 两者对比 子问题的解都已经被正确地 计算出来。 根据以上分析,我们已经可以直接写出动态规划代码。然而子问题分解是一种从顶至底的思想,因此按照 “暴力搜索 → 记忆化搜索 → 动态规划”的顺序实现更加符合思维习惯。 1. 方法一:暴力搜索 从状态 [?, ?] 开始搜索,不断分解为更小的状态 [? − 1, ?] 和 [?, ? − 1] ,递归函数包括以下要素。 ‧ 递归参数:状态 [?, ?]0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版的「递归树 recursion tree」。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子问题”的思维范式,这种分治策略至关重要。 ‧ 从算法角度看,搜索、排序、回溯、分治、动态规划等许多重要算法策略直接或间接地应用了这种思维 方式。 ‧ 从数据结构角度看,递归天然适合处理链表、树和图的相关问题,因为它们非常适合用分治思想进行分 析。 2.2.3 两者对比 子问题的解都已经 被正确地计算出来。 根据以上分析,我们已经可以直接写出动态规划代码。然而子问题分解是一种从顶至底的思想,因此按照 “暴力搜索 → 记忆化搜索 → 动态规划”的顺序实现更加符合思维习惯。 1. 方法一:暴力搜索 从状态 [?, ?] 开始搜索,不断分解为更小的状态 [? − 1, ?] 和 [?, ? − 1] ,递归函数包括以下要素。 ‧ 递归参数:状态 [?, ?]0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版的「递归树 recursion tree」。 图 2‑6 斐波那契数列的递归树 本质上看,递归体现“将问题分解为更小子问题”的思维范式,这种分治策略是至关重要的。 ‧ 从算法角度看,搜索、排序、回溯、分治、动态规划等许多重要算法策略都直接或间接地应用这种思维 方式。 ‧ 从数据结构角度看,递归天然适合处理链表、树和图的相关问题,因为它们非常适合用分治思想进行分 析。 2.3 时间复杂度 子问题的解都已经 被正确地计算出来。 根据以上分析,我们已经可以直接写出动态规划代码。然而子问题分解是一种从顶至底的思想,因此按照 “暴力搜索 → 记忆化搜索 → 动态规划”的顺序实现更加符合思维习惯。 1. 方法一:暴力搜索 从状态 [?, ?] 开始搜索,不断分解为更小的状态 [? − 1, ?] 和 [?, ? − 1] ,递归函数包括以下要素。 ‧ 递归参数:状态 [?, ?]0 码力 | 379 页 | 30.70 MB | 1 年前3
共 14 条
- 1
- 2













