Golang 微服务在腾讯游戏用户运营领域的探索及实践转码逻辑 • 非标接口 • 逻辑编码 问题 手段 嵌入脚本选型 • Expression、Learning cost Custom • CGO overhead Javascript(V8) • Performance Javascript (otto) • CGO / Thread Safe Python/PHP • CGO / Thread overhead cLua/cLuaJIT0 码力 | 34 页 | 1.22 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬激励层 发⾏机制 分配机制 PoW PoS DPoS 可编程货币 可编程⾦融 可编程社会 合约层 智能合约脚本 算法机制 合约执⾏引擎 哈希算法 数字签名 P2P⽹络 传播机制 验证机制 默克尔树 轮胎、悬架等 基础硬件配置 电路油路 等传导系统 引擎、动⼒系统 汽油等润滑系统 车载⾃动化功能 公路、越野等具体场景 公有链基础架构⾃下⽽上分为六层:数据层、⽹络层、共识层、激 基 础 层 数据层 区块结构 账户体系 账本数据结构 安全层 核⼼安全机制 ⾝份隐私保护 数据隐私保护 共识层 分布式⼀致性算法 典型共识算法 新型共识算法 合约层 智能合约脚本 合约执⾏引擎 分布式应⽤DApp ⽹络层 P2P⽹络 区块链⽹络模型 区块链⽹络协议 扩 展 层 扩展操作 跨链协议 链上链下计算 预⾔机 扩展组件 消息队列MQ 证书管理 测试框架 治理层 权限体系 治理模型 基 础 层 数据层 区块结构 账户体系 账本数据结构 安全层 核⼼安全机制 ⾝份隐私保护 数据隐私保护 共识层 分布式⼀致性算法 典型共识算法 新型共识算法 合约层 智能合约脚本 合约执⾏引擎 分布式应⽤DApp ⽹络层 P2P⽹络 区块链⽹络模型 区块链⽹络协议 扩 展 层 扩展操作 跨链协议 链上链下计算 预⾔机 扩展组件 消息队列MQ 证书管理 测试框架 治理层 权限体系 治理模型0 码力 | 39 页 | 56.58 MB | 1 年前3
Go vs. GoPlus(Go+)对话 Go+ 的基础设计理念 • 静态语言,且语法完全兼容 Go • 形式上比 Go 更像脚本,有更低的学习门槛(和 Python 相当) • 更简洁的数学运算上的语法支持(相比 Go) • 双引擎,既支持静态编译为可执行文件,也支持编译成字节码方 式解释执行 静态语言,且语法完全兼容 Go • 相比脚本语言,静态语言将拥有更强的生命力 • 静态语言中,Go 的语法最为精简,学习门槛也最低 更简洁的数学运算上的语法支持(相比 Go) • 当前 Go+ 已经拥有 3 个种子用户(13-14岁) • 有理数 • Map • Slice • List comprehension • For range 双引擎:既可静态编译,也可解析执行 • 既支持静态编译为可执行文件来执行,也支持编译成字节码方式 进行解释执行 • 数据科学家喜欢单步执行(为什么?这并不是因为懒) -请回忆一下所有数学软件的 UI com/goplus/gox Go+下一步的重心 • 用户使用范式最大化的确定 • 在 1.0 版本中尽可能大部分语法都稳定下来 Go+下一步的重心 • 所以我们决定:先单引擎迭代,先做好静态编译执行 • 等 1.0 发布后再发展脚本引擎 Go+团队成员持续寻找中 • Go+ 统一了程序员与数据科学家的语言,让双方自然对话 • Go+ 会是数据科学领域的下一场巨大变革 • 我很兴奋能够参与其中 • 你呢?0 码力 | 54 页 | 1.82 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台物理机 虚拟机 微服务治理平台 DevOps 平台 边缘监控 边缘站点管理 制品 快速分发部署 边缘⽇志 边缘计算平台 边缘数据收集 边缘算⼒调度 ⽹络⾃动容错 平台产品 核⼼引擎 容器服务 基础设施 数仓设计 数据智能平台 智能预测 智能客服 智能仓储 智能推荐 流程⾃动化 智能营销 快数据平台 Linux OS, Kernel >= 3.10 ⼀站式 定义了服务之间的依赖 - 定义了服务和中间件的依赖 云原⽣微服务治理 - 兼容 Spring Cloud & Dubbo, 应⽤⽆需改动代码即可接⼊ - 托管的微服务引擎,降低⽤户 运维压⼒ - 可选云服务作为服务引擎 系统监控 System: CPU 内存 磁盘 ⽹络 系统负 载 进程 Docker Middlewares: MySQL Redis ElasticSearch0 码力 | 40 页 | 8.60 MB | 1 年前3
2.2.6 字节跳动在 Go 网络库上的实践handle() 设计实现 01 性能亮点 02 高级特性 03 展望未来 04 新思路: unsafe, mcache(no gc), ... 新技术(火山引擎): share memory IPC, ... 场景特化(火山引擎): 同机部署, 纯计算 /cache ... Thanks contact us0 码力 | 42 页 | 3.19 MB | 1 年前3
Go Web编程客户机通过TCP/IP协议建立到服务器的TCP连接 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档 服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言 的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端 客户机与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果 一个简单的HTTP事务就是这样实现的,看起来很复杂,原理其实是挺简 5.2 使用MySQL数据库 目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势 成为了很多Web开发的后端数据库存储引擎。 MySQL驱动 MySQL驱动 Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常 用的有如下几种: https://github 下一节: 使用SQLite数据库 122 5.3 使用SQLite数据库 5.3 使用SQLite数据库 SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。其特点是高度便携、使 用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下, 只要确保SQLite的二进制文件存在即可开始创建、连接和使用数0 码力 | 295 页 | 5.91 MB | 1 年前3
1.2 Go 在分布式系统开发中的应用conponents 起因以及一些差异 not gonna cover every details zookeeper vs etcd 起因: reborndb是一个分布式redis集群框架 支持透明切换引擎 为了同时支持zookeeper和etcd zookeeper vs etcd zookeeper: session etcd: stateless zookeeper vs etcd 文件和目录的差异0 码力 | 20 页 | 131.34 KB | 1 年前3
2.2.2 深入理解BFE什么是BFE? • 百度统一的七层流量转发平台 • HTTP, HTTPS, HTTP/2, QUIC • 2012年开始建设 • 每日转发请求约1万亿,日峰值超过1KW QPS • 2019年,核心转发引擎对外开源 • BFE => Beyond Front End • https://github.com/bfenetworks/bfe • 2020年6月,成为CNCF Sandbox Project0 码力 | 26 页 | 1.78 MB | 1 年前3
2.1.1 Golang主动式内存缓存的优化探索之路数 据 冷数据、数据量多 缓存成本大、命中低、收益小 热 数 据 当前系统中的热点数据 命中率高 系 统 新 增 数 据 近期新增数据,较大概率命中 存储空间 缓存性能 冷热可交换,引擎可扩展 06. 冷热数据交换,通过栈式缓存结构,实现多级缓存策略 语言的局限性 07. 基于golang语言,内存对象超过百万量级后出现的GC耗时问题 • go原生map存储200万数据对象0 码力 | 48 页 | 6.06 MB | 1 年前3
2.7 Golang与高性能DSP竞价系统All Right ReservedAll Right Reserved • 写⼊入做⼀一些合并,减少写⼊入的SQL数量 • MySQL库只保留最近7天的数据 • MySQL使⽤用MyISAM引擎 • MySQL做分库、分表后还可以应付 • InfoBright是列存储 • InfoBright压缩率奇⾼高 • InfoBright使⽤用的是社区版 曝光统计服务 专业DSP解决⽅方案0 码力 | 51 页 | 5.09 MB | 1 年前3
共 13 条
- 1
- 2













