2022 GopherChina 出品人及演讲内容揭晓(二)
共 2368字,需浏览 5分钟
·
2022-07-17 17:02
出品人简介
彭友顺 石墨文档基础设施负责人,前斗鱼资深架构师,经历了斗鱼从A轮到上市的技术架构演变,主导了斗鱼高并发单服务30万qps、高可用多Region的房间业务。目前开源了Ego框架、Clickvisual日志和数据分析。管理GoCN社区。
出品人专访
----
小G
请问您是哪一年以及什么原因接触Go语言的呢?
16年年初的时候,由于我们定时任务太多,非常不方便管理,便在Github上找了一款Go写的定时任务管理工具,通过这次契机了解了Go语言。深入研究后发现Go语言非常简洁,具有性能好、工程化、统一格式化、没有虚拟机等优点,特别适合我们程序员的个性(不要讨论括号换不换行,不要在服务器上装虚拟机),再结合当时的业务场景--在2016年底,我们有个视频排序的新业务,所以我们选择直接使用 Go 做任务引擎。
在此之后,我们开始大规模使用 Go 改造线上业务。改造完后,大幅度提升了服务性能并降低了服务器成本。
彭大
----
小G
关于这些年来 Go 语言的发展,您觉得是否有超出预期的发展,以及在哪些领域的发展出乎意料?
我接触 Go 比较晚,Go1.6的时候才了解。初期在公司推广 Go,有好多问题,如 GC问题、依赖问题、生态问题等,但是随着这几年 Go 的发展,这些问题都已经成为过去式。
彭大
GC问题:最开始要上 Go,我们老板是 CPP 出身,吐槽了 Go 的 GC问题,但看到 Go1.7 解决了 GC问题后,放手让我们在业务上使用 Go1.7。
依赖问题:最早使用gopath、vendor,这个对新手劝退很多,更新一次依赖版本,可能要十几分钟,对新手很不友好。现在 go mod 处理依赖简单不少,新手使用起来会更加容易。
彭大
生态问题:最开始使用Go的时候,Go的一些组件都支持的不够好,为了避免出坑,只敢用原生的 mysql 或者 redis组件,自己做连接池,但这样开发效率是很低的。随着这几年的 Go 开源组件的发展,其实可以看到许多优秀的 Go 组件脱颖而出。
彭大
生态问题,可以展开说下16年的时候,我们要做 Go 的微服务技术选型,涉及到以下四点:
1.注册中心:etcd(Go)、consul(Go)、zk(Java)
2.RPC协议:gRPC、thrift、dubbo
3.存储监控:prometheus(Go)、influxdb(Go)、zabbix(PHP)
4.监控报表:grafana(Go)、zabbix(PHP)
彭大
最终我们综合考虑选择了ETCD、gRPC、Prometheus、Grafana,原本以为技术会不停的变化,会使这些技术栈可能昙花一现,但实际上来看,Go在云原生的发力,使得ETCD、gRPC、Prometheus、Grafana,成为了一种事实标准。
得益于这个事实标准,我们没有去折腾换技术栈,而是不停地去研究这些代码的原理和源码,让我们更加深入地去了解这些组件,形成很好的技术积累。
彭大
----
小G
请问您期待 Go 语言在哪些领域能有新的进展和突破?
我们经常要给客户部署服务,客户提供的服务器资源有限。这个时候我们发现虽然我们的业务都是用 Go,不占用资源,但是像搜索、大数据还是 java 为主,对资源占用非常多。
所以在想后续 Go 在大数据或者机器学习上有更多建树,能够让资源消耗更低些,同时让 Go 有更多的使用场景。
彭大
----
小G
本次作为 GopherChina 大会出品人,您将为 Gopher们带来哪些精彩内容呢?请您简单介绍一下。
本次主要给大家带上 Go语言生态和组件应用 这个专题。
解决新手入门和程序员进阶后,想更加深入理解 Go生态和组件特性以及适用场景,指引他们能够在短时间内从业务最佳实践、组件特性上能够掌握相关技术。
该专题主要是介绍组件的一些特性及其所使用的案例场景,让业务方能够更好地体会到 Go 的组件能解决哪些问题, 不仅能够在复杂的业务场景中会用组件,还能够将组件用的更好。后续也会做出 Go 生态全景图,并将本次大会专题内容和其他组件内容整理成册,提供给大家帮助,让大家更好地了解 Go生态。
彭大
----
小G
最后,请您用一句话向 Gopher们推荐 GopherChina大会。
来GopherChina大会,为的不仅仅是技术,而是可以和你志同道合的小伙伴约饭~
彭大
----
GopherChina 2022 Go语言生态和组件应用专题
本专题包含如下议题:
1. OpenSergo && Sentinel: 下一代微服务治理标准与实践:
在现代微服务架构中,针对复杂微服务架构的稳定性治理是广大开发者关注的重点。
2. 微博增值团队在Go服务可观测性的实践与探索:
主要介绍如何基于 OpenTelemetry 生态与 Clickhouse 低成本实现服务的可观测性。
3.微服务架构下基于 Kratos 的服务注册与发现:
要想实现客户端向动态变化的一组服务端实例发送请求,我们需要引入服务注册与发现机制,课题将通过实际案例讲解带你理解服务注册与发现在企业级项目的实践。
4. GORM 在字节跳动的最佳实践:
字节跳动的业务类型繁多,采用的微服务的业务架构对于开发效率、执行性能、扩展性、安全性有着极高的要求。本专题主要讲解 GORM 在字节跳动的最佳实践。
小G
以上就是本次专访以及关于 Go语言生态和组件应用专题 的所有内容介绍啦!
点击文末 [阅读原文] 即可报名,并输入彭大专属邀请码 askuy 即可参与!仅限10人哦~
大会合作、现场招聘及企业购票等事宜请联系微信:18516100522
记得分享、在看与点赞哦~