写点什么

当红语言只认 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:028995
用户头像
佘磊 策划编辑

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

关注

评论

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

海外APP的开发流程

北京木奇移动技术有限公司

软件外包公司 APP外包公司 海外APP

Dirsearch 安全实战指南

权说安全

网络安全 漏洞

YashanDB数据库与其他数据库比较分析

数据库砖家

YashanDB数据库与容器化平台集成实践指南

数据库砖家

YashanDB数据库用户权限安全策略及最佳实践

数据库砖家

YashanDB数据库用户权限管理及操作技巧

数据库砖家

YashanDB数据库与区块链技术的结合探索

数据库砖家

YashanDB数据库用户管理及权限分配实用方法

数据库砖家

YashanDB数据库与其他数据库的比较分析

数据库砖家

YashanDB数据库与数据湖的协同工作模式探索

数据库砖家

数据分析与AI丨产品全生命周期的数据分析与AI提效案例

Altair RapidMiner

人工智能 AI 数据分析 制造业 RapidMiner

聊聊 Webpack 那些安全事儿:打包风险与防护小技巧

权说安全

YashanDB数据库与大数据生态系统的整合方法

数据库砖家

YashanDB数据库与信息安全的关系探讨

数据库砖家

R8疑难杂症分析实战:外联优化设计缺陷引起的崩溃|得物技术

得物技术

android 性能优化 编译器 编译器 加速器 编程语言

欧洲APP开发的完整流程

北京木奇移动技术有限公司

APP开发流程 软件外包开发 海外APP开发

YashanDB数据库优化:索引与查询性能提升

数据库砖家

YashanDB数据库与微型服务架构的最佳实践

数据库砖家

小白也能轻松上手!一招解决IP被封杀难题

权说安全

攻防演练

YashanDB数据库与数据科学的结合点

数据库砖家

YashanDB数据库与云原生架构的完美契合

数据库砖家

存算分离架构重塑政务数据治理:福建大数据基于 Databend 构建一体化公共数据平台的实践探索

Databend

看到了 SQL 中 order by 3 desc,1 直接愣了一下。知道原因后,直接想骂人!

左诗右码

YashanDB数据库优势详解:提升企业数据处理效率

数据库砖家

YashanDB数据库与企业资源计划系统的集成技术分析

数据库砖家

YashanDB数据库与区块链技术的潜在融合方向

数据库砖家

大数据-85 Spark Action 操作详解:从 Collect 到存储的全景解析

武子康

Java 大数据 flink spark 分布式

Google 发布了Nano Banana编写最佳提示词,提供了10种场景

程序员海军

AI 设计 AIGC Nano Banana Gemini 2.5

YashanDB数据库与大数据分析平台的结合

数据库砖家

YashanDB数据库与机器学习的结合:数据分析的新机遇

数据库砖家

YashanDB数据库运维自动化工具使用介绍

数据库砖家

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