2.游戏战中陪伴助手微服务架构设计与应用游戏战中陪伴助手微服务架构设计与应用 张敏 - AndruZhang 腾讯 - 高级后台工程师 目 录 功能介绍 01 早期探索 02 方案设计和工程实现 03 性能和成本优化 04 DevOps 建设 05 总结 & QA 06 功能介绍 第一部分 战中陪伴助手介绍——和平精英最佳第五人 战中陪伴助手介绍——和平精英最佳第五人 • 游戏战斗中指导 / 建议 • 敌人在附近 设计新运营策略的难度 - 开发迭代: 如需开发介入,那么功能迭代的速度 - 可解释性: 理由是否能否说服玩家遵从建议 - 对用户价值: 提升玩家体验 / 吃鸡率的帮助有多大 推荐系统接入——系统架构 推荐系统: 向量化 方案探索——资源点推荐 针对具体场景开发 - 专利:《一种在游戏中离线挖掘、实时推荐资源点的方案》 - 大数据挖掘资源出现位置 - 左:配置文件 - 右:大数据挖掘 报方案 》 运营迭代 更合理的开发迭代流程 - 项目各角色成员密切配合,深度参与 - Token / 策略的设计开发可并行 - 运营可闭环策略设计,开发无需介入 方案详述——完整架构 先对整个架构有一个大概的认识 - 消息队列消费:解耦 MQ - Token 清洗:事件翻译和 token 计算 - 推荐系统:策略召回和推荐 - 数据分析:离线策略挖掘和模型训练 - 管理平台:开发、运营、运维辅助0 码力 | 47 页 | 11.10 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬大规模高性能区块链架构 设计模式与测试框架 Gopher Meetup 深圳站 2021 年 8 ⽉ 21 号 趣�科技 李世敬 目录 区块链概述 01 大规模高性能区块链架构设计介绍 02 基于Go插件的区块链性能测试工具 03 写在最后 04 区块链概述 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 『非许可链』公有链 私有链『许可链』 联盟链『许可链』 区块链发展的主力军 不同的组织形态分别对应不同的“区块链产品架构” 11 趣链科技 版权所有 ©2016-2021 11 趣链科技 版权所有 ©2016-2021 11 趣链科技 版权所有 ©2016-2021 11 公有�架构(⾮�可�架构) 应⽤层 数据层 块链式结构 账户模型 时间戳 ⽹络层 共识层 激励层 发⾏机制 分配机制 PoW 公路、越野等具体场景 公有链基础架构⾃下⽽上分为六层:数据层、⽹络层、共识层、激励层、合约层与应⽤层。如果将区块链⽐作⼀ 辆汽车,那么各层分别对应汽车的各个组成部分(下图所⽰),各层之间协同合作,形成多中⼼化可信系统 12 趣链科技 版权所有 ©2016-2021 12 趣链科技 版权所有 ©2016-2021 12 趣链科技 版权所有 ©2016-2021 12 �盟�(�可�架构) 基 础 层 数据层0 码力 | 39 页 | 56.58 MB | 1 年前3
Go 入门指南(The way to Go)录 致谢 阅前必读 内容介绍 前言 第1章:Go 语言的起源,发展与普及 1.1 起源与发展 1.2 语言的主要特性与发展的环境和影响因素 第2章:安装与运行环境 2.1 平台与架构 2.2 Go 环境变量 2.3 在 Linux 上安装 Go 2.4 在 Mac OS X 上安装 Go 2.5 在 Windows 上安装 Go 2.6 安装目录清单 2.7 Go 运行时(runtime) 来实现各个 goroutine 之间的通信。他们实现了分段栈增长和 goroutine 在线程基础上多路 复用技术的自动化。 这个特性显然是 Go 语言最强有力的部分,不仅支持了日益重要的多核与多处理器计算机,也弥补了现存编程语言在 这方面所存在的不足。 Go 语言中另一个非常重要的特性就是它的构建速度(编译和链接到机器代码的速度),一般情况下构建一个程序的时 间只需要数百毫秒到几秒。作为大量使用 2.1 平台与架构 2.2 Go 环境变量 2.3 在 Linux 上安装 Go 2.4 在 Mac OS X 上安装 Go 2.5 在 Windows 上安装 Go 2.6 安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第2章:安装与运行环境 - 24 - 本文档使用 书栈(BookStack.CN) 构建 2.1 平台与架构 Go 语言开发团队开发了适用于以下操作系统的编译器:0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)来实现各个 goroutine 之间的通信。他们实现了分段栈增长和 goroutine 在线程基础上多路复用技术的自动化。 这个特性显然是 Go 语言最强有力的部分,不仅支持了日益重要的多核与多处理器计算机,也弥补了现存 编程语言在这方面所存在的不足。 Go 语言中另一个非常重要的特性就是它的构建速度(编译和链接到机器代码的速度),一般情况下构建 一个程序的时间只需要数百毫秒到几秒。作为大量使用 内存管理,简洁语法,易于使用 快速编译,高效开发 高效执行 并发支持,轻松驾驭 静态类型 标准类库,规范统一 易于部署 文档全面 免费开源 第2章:安装与运行环境 2.1 平台与架构 Go 语言开发团队开发了适用于以下操作系统的编译器: Linux FreeBSD Mac OS X(也称为 Darwin) 目前有2个版本的编译器:Go 原生编译器 gc 和非原生编译器 作。 你可以获取以下平台上的 Go 1.4 源码和二进制文件: Linux 2.6+:amd64、386 和 arm 架构 Mac OS X(Snow Leopard + Lion):amd64 和 386 架构 Windows 2000+:amd64 和 386 架构 对于非常底层的纯 Go 语言代码或者包而言,在各个操作系统平台上的可移植性是非常强的,只需要将源 码拷贝到相应平台上0 码力 | 380 页 | 2.97 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版(? + ?) 。 并行计算优化 我们知道,分治生成的子问题是相互独立的,因此通常可以并行解决。也就是说,分治不仅可以降低算法的 时间复杂度,还有利于操作系统的并行优化。 并行优化在多核或多处理器的环境中尤其有效,因为系统可以同时处理多个子问题,更加充分地利用计算资 源,从而显著减少总体的运行时间。 比如在桶排序中,我们将海量的数据平均分配到各个桶中,则可所有桶的排序任务分散到各个计算单元,完0 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.1.0 Go版+ ?) 。 2. 并行计算优化 我们知道,分治生成的子问题是相互独立的,因此通常可以并行解决。也就是说,分治不仅可以降低算法的 时间复杂度,还有利于操作系统的并行优化。 并行优化在多核或多处理器的环境中尤其有效,因为系统可以同时处理多个子问题,更加充分地利用计算资 源,从而显著减少总体的运行时间。 比如在图 12‑3 所示的“桶排序”中,我们将海量的数据平均分配到各个桶中,则可所有桶的排序任务分散到0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版+ ?) 。 2. 并行计算优化 我们知道,分治生成的子问题是相互独立的,因此通常可以并行解决。也就是说,分治不仅可以降低算法的 时间复杂度,还有利于操作系统的并行优化。 并行优化在多核或多处理器的环境中尤其有效,因为系统可以同时处理多个子问题,更加充分地利用计算资 源,从而显著减少总体的运行时间。 比如在图 12‑3 所示的“桶排序”中,我们将海量的数据平均分配到各个桶中,则可所有桶的排序任务分散到0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版+ ?) 。 2. 并行计算优化 我们知道,分治生成的子问题是相互独立的,因此通常可以并行解决。也就是说,分治不仅可以降低算法的 时间复杂度,还有利于操作系统的并行优化。 并行优化在多核或多处理器的环境中尤其有效,因为系统可以同时处理多个子问题,更加充分地利用计算资 源,从而显著减少总体的运行时间。 比如在图 12‑3 所示的“桶排序”中,我们将海量的数据平均分配到各个桶中,则可所有桶的排序任务分散到0 码力 | 379 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版+ ?) 。 2. 并行计算优化 我们知道,分治生成的子问题是相互独立的,因此通常可以并行解决。也就是说,分治不仅可以降低算法的 时间复杂度,还有利于操作系统的并行优化。 并行优化在多核或多处理器的环境中尤其有效,因为系统可以同时处理多个子问题,更加充分地利用计算资 源,从而显著减少总体的运行时间。 比如在图 12‑3 所示的“桶排序”中,我们将海量的数据平均分配到各个桶中,则可将所有桶的排序任务分散0 码力 | 384 页 | 18.49 MB | 10 月前3
2.1.7 谈如何构建易于拆分的单体应用谈如何构建易于拆分的单体应⽤ 郑渊 腾讯公司 ⾼级⼯程师 ⽬ 录 微服务架构的困境与突破 01 建模:通过表象看本质 02 基于go-kit构建易拆分的单体应⽤ 03 总结 04 微服务架构的困境与突破 第⼀部分 微服务架构的困境与突破 01 Monolith to Microservices To move from Monolithic to Microservices consider ? (2) Business Logic+Data Interface (3) Database (1) User Interface (4) Infrastructure 微服务架构的困境与突破 ➢ 服务拆分难 • 模块职责不清晰,模块之间耦合严重,⾯向数据库交 互,循环依赖等等,导致服务拆分困难:1.0版本, 2.0版本,3.0版本...... (初期缺乏设计) ➢ 服务维护成本⾼ N个开发⼯具窗⼝来回切,⼀会⼉⾃⼰都蒙圈了;⼀ 个代码仓库有效代码只有⼏百⾏,⼀个脚本搞定的事 情硬是搞出来 n 个服务......(职责划分和架构选型不 合理,为了微服务⽽微服务) • 监控,告警,CI/CD,服务治理,分布式追踪等基础 设施不完善,维护成本⾼(⾃建—>云原⽣) 02 困境 MVC架构 微服务架构的困境与突破 ➢ 构建合理的业务模型(Monolith or Microservice) 1. 建模⽅法不只有领取驱动设计-DDD,还有⽤例驱动0 码力 | 27 页 | 13.04 MB | 1 年前3
共 57 条
- 1
- 2
- 3
- 4
- 5
- 6













