【AICon 全球人工智能与大模型开发与应用大会】改变 AI 时代下写代码的模式 >>> 了解详情
写点什么

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

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

关注

评论

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

勇做全球区块链“分布式存储”领航

CECBC

分布式

StarRocks致工程师们的一封信

StarRocks

大数据 程序员 数据分析 工程师 StarRocks

ElasticSearch读写模型&数据复制模型

yhh

elasticsearch 数据复制模型

零基础学Tableau系列 | 01—Tableau简介、条形图与直方图

不温卜火

数据可视化 数据清洗 4月日更

智能取色-为多元化的产品场景选择完美的色彩组合

百度贴吧技术团队

智能取色 个性化 视觉策略 沉浸感

五种不同类型的领导模式

石云升

领导力 28天写作 职场经验 管理经验 4月日更

Laravel 服务容器实例教程--深入理解控制反转(IoC)和依赖注入(DI)

一个大红包

4月日更

Hi Array!~~~你所经常遇见的TA!

Chalk

JavaScript 大前端 数组 array 4月日更

Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

Java redis 程序员 架构 计算机

拥抱云原生,基于eBPF技术实现Serverless节点访问K8S Service

UCloud技术

容器 云原生 k8s serverles

2021年金三银四全新版互联网大厂面试题,分类80份PDF,累计4700页

Java 编程 程序员 架构 面试

根据码龄来爬取CSDN博客粉丝

空城机

Python 爬虫 python 爬虫 4月日更 粉丝数据

模块1作业

Geek_2e7dd7

架构实战营

Spark查询优化之谓词下推

小舰

4月日更

莫高窟永不褪色的微笑,照耀在华为未曾止步的数据保护征程

脑极体

聪明人的训练(一)

Changing Lin

4月日更

Python OpenCV 之图像的叠加,图像处理取经之旅第 16 天

梦想橡皮擦

Python OpenCV 4月日更

一文学完所有的Hive Sql(两万字最全详解)

五分钟学大数据

大数据 hive 4月日更

uni-app对接金山文档在线预览服务

薛定喵君

CMS前世今生

叫练

CMS JVM 垃圾收集

Rust:范型使用trait限定的一点总结

Microwood

rust Trait 范型 范型约束Output Add

1.4 Go语言从入门到精通:Go代理goproxy

xcbeyond

Go 语言 4月日更 goproxy

可能是最糟糕的愚人节玩笑:科技史上的美式疯狂

脑极体

酷家乐 x StarRocks:家居SaaS独角兽如何实现数据分析全面升级,大幅降低平台成本

StarRocks

大数据 数据分析 presto 营销数字化 StarRocks

Flink中的无界数据流与有界数据流

大数据技术指南

flink 4月日更

后端开发必须要懂的Redis,Redis的数据结构

Linux服务器开发

redis 分布式 后端 web服务器 Linux服务器开发

【leetcode题目】2. 两数相加

程序员架构进阶

LeetCode 28天写作 算法解析 4月日更

新动能 · 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级

科创人

从0开始的支付业务架构演进之路

誰敢得罪我

I'm Back

小天同学

思考 个人感悟 4月日更

历史命令被黑客删除?教你实时备份

运维研习社

Linux 4月日更 服务器安全

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