1.Go在七⽜牛全链路路追踪中的实践 刘凯 七⽜牛云⼤大数据团队(Pandora)架构师
2.⾃自我介绍 INTRODUCTION • 刘凯,七⽜牛,⼤大数据Pandora团队成员 • 2015年年,加⼊入⽹网易易杭州研究院存储团队 ‣ ⼯工作⽅方向集中在对象存储,CDN,使⽤用GO开发的项⽬目 ๏ 对象存储多机房⽅方案 ๏ CDN移动端⽂文件上传下载加速 • 2018年年,加⼊入Pandora团队 ‣ ⼯工作⽅方向集中在存储引擎,APM和账号体系,使⽤用GO开发的项⽬目 ๏ 账号体系 ๏ 全链路路追踪
3.⽬目 录 CONTENTS ➢ 我眼中的GO ➢ Go在组内的应⽤用介绍 ➢ 全链路路追踪介绍 ➢ 七⽜牛全链路路追踪实现以及可视化展示 ➢ 七⽜牛全链路路追踪的GO最佳实践 ➢ 未来规划 ➢ 总结
4.我眼中的GO 结缘于15年年初,待过的两个团队对GO都推崇备⾄至,是组内主⼒力力的开发语⾔言。对于七⽜牛更更是全员⽤用 GO。 ➢ 并发:go关键字 ➢ 代码风格统⼀:go fmt ➢ 协程:超乎想象的轻量级 ➢ 协程间通信:channel ➢ 交叉编译,速度极快 ➢ 开源社区活跃
5.GO在组内的应⽤用 在Pandora我们⽤用GO做了了什什么 ➢ 强⼤的采集器器模块 采集器模块分为两部分:采集器Logkit和服务端SmartElf,两者均全部采⽤GO语⾔实现。采集器对⽂件⼤⼩较为敏感,经 过JAVA相⽐比,GO⼤大⼤大减少了了可执⾏行行⽂文件的⼤大⼩小。 ➢ ⼯作流 ⼯作流是⼀个数据接收、计算、导出的框架,把业务流程映射到页⾯上,将数据业务可视化。 重⽤七⽜内部⼤量GO开发框架,业务⾮常灵活,开发效率⾼,协程轻量量级 ➢ 基于底层存储引擎的各个应⽤用产品 ⽬前底层存储使⽤了开源的ES&#x