写点什么

当红语言只认 Go!趣头条技术沙龙精彩瞬间回顾

  • 2019-08-30
  • 本文字数:2448 字

    阅读完需:约 8 分钟

当红语言只认Go!趣头条技术沙龙精彩瞬间回顾

Go 语言从 2009 年发布以来,到现在正好走过了十年的时间。其天生并发、内置 GC、安全性高、语法简单、编译快速、出身名门等等诸多特点,使得目前越来越多大公司都在使用 Go 语言重筑其后端的基础架构和服务。


所以说互联网企业和开发者都是一群“闲不住”的人,出了新东西后总想着自己鼓捣两下。相比企业,开发者就更自由了,即使公司内部不用 Go 语言,很多开发者也在“偷偷”用 Go 来强化自己的技能。


基于此背景,近日,趣头条联合极客邦科技在上海举办了首届 Go 语言技术沙龙——Golang 在工程实践中的应用。虽然只是一场持续半天的技术沙龙活动,但是现场参会者的参与热情、从沙龙带回的收获与感悟,其意义已经远远超过活动本身。部分参会者在现场反馈说,如果不是参加了此次沙龙,真的感受不到,原来 Go 语言在国内这么火,在开发者群体中这么吃香!




本次技术沙龙从实际生产业务中出发,注重企业对 Go 语言的应用程度,注重讲师在 Go 中的实践,因此来自国内深度应用 Go 语言互联网大厂的三位资深架构师——趣头条基础架构部架构师徐鹏、七牛云大数据团队架构师刘凯、bilibili 主站技术中心研发工程师曹国梁,基于对 Go 语言的深入理解,在现场深度分享了自家企业在 Go 语言中的实践情况。


以下是三位老师在分享过程中的精彩回顾:

自研 ServiceMesh 在趣头条的实践

现场第一轮分享,是趣头条基础架构部架构师徐鹏带来的《自研 Service Mesh 在趣头条的实践》。



趣头条基础架构部架构师徐鹏


在演讲中,徐鹏首先对 Service Mesh 的演进历程进行了介绍,着重对趣头条完全基于 Go 语言实现的 Service Mesh Negri 系统进行了讲解。



Negri 架构图


自研的 Service Mesh Negri 有以下 6 个主要特点:


  • 语言无关,无需开发多套不同语言框架、PHP、Golang、Java 甚至 Node.js、Python 都可以接入;

  • 维护成本低,重框架维护成本非常高、DRY 会引发大面积故障,升级成本高;

  • 服务注册发现,省去了 slb 部署环节、可以自动发现服务节点变化;

  • 服务治理,限流、熔断、降级、trace、metrics、log 错误注入;

  • 图形化的控制面板,提供了统一的 UI,控制服务治理的各类配置,展示服务的 metric、strace、日志、调用关系等;

  • 自研业务的支持,abtest、trace、auth、加解密、sign 验签等功能的支持。


随后,徐鹏主要就 Negri 的研发历程、最佳实践以及未来发展方向做出了讲解。



最后,徐鹏对 Negri 的未来发展规划进行了介绍,主要包含:


  • 兼容 xds 协议,支持 Istio 作为控制平面;

  • 支持 Redis、MySQL、Nsq、Kafka 协议,能够对这些服务做限流熔断等举措;

  • 服务授权认证,通过下发服务间调用规则/Appsecret,让服务间调用更安全。

Go 在七牛全链路追踪中的实践

接下来的第二轮分享,是来自七牛云大数据团队架构师刘凯,他所带来的分享主题为《Go 在七牛全链路追踪中的实践》。



七牛云大数据团队架构师刘凯


首先,刘凯对全链路追踪这一技术进行详细的讲解,包括全链路追踪技术的起源、Opentracing、业界主要产品等等。



随后对七牛的全链路追踪进行了详细介绍。在七牛全链路追踪的功能特性方面,刘凯也进行了极为详细的阐述,主要包含:传输优化、服务拓扑、接入成本、可视化展示这四个方面。



最后,刘凯现场演示了如何用全链路追踪模块去反向监控 Go 项目,第一是指用户的业务,黑色就是 trarcer 模式,然后中间 span,然后是采集模块,并现场还原了真实效果,手动演示了代码传入的途径。


Go 在 bilibili 微服务治理中的实践

当天带来最后一个分享的是 bilibili 主站技术中心高级研发工程师曹国梁,他所带来的分享主题是《Go 在 bilibili 微服务治理中的实践》。



bilibili 主站技术中心高级研发工程师曹国梁


曹国梁首先让大家初步了解了下微服务化所带来的一系列挑战,并介绍了初期 CP 服务发现系统——ZooKeeper。



Zookeeper 架构图


随后详细介绍了 bilibili 基于 Go 语言实现的 AP 服务发现框架——Discovery。Discovery 服务发现系统主要有保证节点信息最终一致、网络分区的自我保护、客户端实例变化这三个特点。



同时,负载均衡是微服务中非常重要的一个环节,曹国梁对负载均衡在 bilibili 内所发展的前 2 个阶段进行了介绍,因为性能无法满足业务快速增长的需要,bilibili 基于前面的两个版本,又引进了负载均衡 3.0,主要优化点可见下图:



最后,曹国梁对微服务中“熔断与限流”的应用进行了介绍,并回顾了之所以用 Go 语言来实现这个框架的原因。

Lean Coffee 环节:深度讨论 Go 的今生与未来

本次沙龙与寻常大家只是单一的站在倾听者的角度来接收技术干货的不同,是本次沙龙引入了 Lean Coffee 环节,共设有【Go 的工程化实践】、【大并发和大流量下的 Go 实践】、【Go 在行业中落地与应用】以及【Go 的未来前景探讨】这四个话题,每一位参会者都可以选择自己所感兴趣的话题来与现场的小伙伴进行讨论。



最后每个小组都派出了一位代表上台进行分享,从产出的结果来看,大家的讨论十分有成效,并且由趣头条的 Kevin 从中评选出了“最具价值分享”奖项。现场,大家讨论、分享的欲望非常强烈,直至最后,还有众多参会者还表示对交流的内容意犹未尽。同时,本次技术沙龙以 Go 为圆心,凝结了上海本地对 Go 有热情和研究兴趣的开发者,大家借此相识、借此探讨,向获知最前沿的技术应用,扩大自身的社交圈子又迈进了一步。



最后引用 Lean Coffee 环节一位同学的热血之言:七牛在国内是应用 Go 语言的专家,但是希望在多年之后,Go 语言在中国,不管什么七牛八牛,最终都将会是 Go 牛!


2019-08-30 14:028966
用户头像
佘磊 策划编辑

发布了 50 篇内容, 共 22.6 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

聊聊我做测试开发的十年心路历程

阿里技术

测试 开发

软件测试学习笔记丨Allure2报告中添加附件-日志

测试人

软件测试 测试开发

软件测试学习笔记丨Allure2 报告中添加附件(视频)

测试人

软件测试

深度解析代码变更对业务的影响范围:业务影响范围关联分析

测吧(北京)科技有限公司

测试

JVM字节码分析与修改:探索代码覆盖率底层实现框架

测吧(北京)科技有限公司

测试

代码覆盖率提升策略:利用静态分析工具优化测试覆盖率

测吧(北京)科技有限公司

测试

亚马逊云科技携手埃森哲、Anthropic助力企业打造负责任的AI

财见

SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮...

Java技术精选

同城双活:交易链路的稳定性与可靠性探索

得物技术

Java 后端 中间件 双活

阿里云实时计算Flink的产品化思考与实践【上】

Apache Flink

大数据 flink 实时计算

解锁TikTok直播专线,提高使用体验

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 tiktok直播网络

中国 10 亿参数规模以上大模型数量已超 100 个;GitHub 推出代码自动修复工具丨 RTE 开发者日报 Vol.172

声网

如何轻松管理你的海外主机?实用技巧大公开!

一只扑棱蛾子

海外主机

比 MyBatis 效率快 100 倍...

Java技术精选

码上时刻|通过逻辑视图 Logic View 快速实现批流一体

Kyligence

新版Redis不再“开源”,对使用者都有哪些影响?

华为云开发者联盟

数据库 redis 华为云 华为云开发者联盟 华为云GeminiDB

TikTok直播专线是什么?有什么用?

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 海外直播网络

ECS公网连接指南:精明选择公网IP计费策略

极客天地

“专业敏捷教练课程” 6月1-2日 · CSP-SM认证周末班【晋升高阶享多重福利】

ShineScrum

敏捷开发:想要快速交付就必须舍弃产品质量?

敏捷开发

项目管理 Scrum 敏捷开发 产品研发 研发

深入理解精准测试理论与技术:揭秘测试技术的核心原理

测吧(北京)科技有限公司

测试

搭建Elasticsearch、Kibana和Logstash环境:构建强大的数据分析平台

测吧(北京)科技有限公司

测试

OLAP性能再获突破!火山引擎ByteHouse性能白皮书发布

极客天地

更轻松地部署和升级 NGINX Service Mesh

NGINX开源社区

nginx Kubernetes Helm Service Mesh 服务网格 mTLS

深入了解一下http和https的区别

秃头小帅oi

互联网公司裁员现象调查:探寻背后原因与应对策略

小魏写代码

日立公司采用元太科技电子纸实现了无纸化营运

财见

分享一些大数据处理算法

Chris Zhang

大数据

云端简易指南:快速启动与管理您的ECS实例

极客天地

实战代码静态分析工具:利用语法树数据工具提升代码质量

测吧(北京)科技有限公司

测试

利用Shell二次封装Elasticsearch客户端:简化数据检索与操作

测吧(北京)科技有限公司

测试

当红语言只认Go!趣头条技术沙龙精彩瞬间回顾_语言 & 开发_佘磊_InfoQ精选文章