性能提升50%、资源占用节约70%,知乎问答服务 Go 语言重构实践

2019 年 6 月 04 日

性能提升50%、资源占用节约70%,知乎问答服务 Go 语言重构实践

2019 年 3 月,Go 语言官方博客发布了 2018 年 Go 语言调查报告,  共有来自 103 个国家的 5883 名开发者参与到这次的调查中。调查结果显示,目前将 Go 语言作为日常使用的编程语言的受访者已经达到 50%,在工作中使用 Go 语言开发的人数从 68% 增加至 72%,且受访者普遍都拥有了 2 年以上的 Go 语言开发经验。

虽然绝大多数受访者表示 Go 语言是他们最喜欢的编程语言,也在积极实践,但不可否认的是,他们对于 Go 语言的使用熟练度远不如其它语言高。如何才能更好的让 Go 语言为我所用呢?我们采访了知乎业务架构组技术负责人姚钢强。

据了解,知乎从 2017 年开始尝试使用 Go 语言来构建业务系统,目前知乎的问答、评论、文章、个人页、部分反作弊系统、部分搜索和商业的业务是使用 Go 语言进行搭建的,单元测试覆盖率一般在 70% 左右。

Go 语言在知乎的实践历程

从 2017 年开始使用 Go 语言构建业务系统到 2019 年使用 Go 语言重构老系统、开发新系统,这中间知乎一直在不间断的探索 Go 语言在企业中的实践。如果要把 Go 语言在知乎的实践历程划分成不同的阶段,姚钢强认为可以按照年份分为三个阶段:

2017 年,知乎技术平台和个别业务开始尝试使用 Go 语言构建自己的系统,但此时配套的基础设施并不完全,所以在这一年中,前架构团队开发了部分基础设施(RPC 框架、监控),并且使用 Go 语言重写了流量最大的内部 RPC 服务 member。

原文链接:【 https://www.infoq.cn/article/gJmlvcxL*R3jmj26JHbF 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2019 年 6 月 04 日 09:48 13078
用户头像
田晓旭 InfoQ 编辑

发布了 140 篇内容,共 1717993 次阅读,收获喜欢 975 次。

关注

评论 1 条评论

发布
用户头像
如果原先知乎是使用 Java 进行项目开发的话,可能也就不需要重构了
2019 年 11 月 21 日 19:39
回复
没有更多评论了
发现更多内容

MinIO 分布式集群搭建

耳东

Minio cluster Minio 集群

英特尔唐炯:把最好、最合适的产品带给最需要的消费者

飞天鱼2017

数据湖应用解析:Spark on Elasticsearch一致性问题

华为云开发者社区

大数据 spark elasticsearch 数据湖 华为云

第7周-作业1

seng man

手把手教你写数独计算器(1)

一直AC一直爽

c++ 算法 数独

MinIO 参数解析与限制

耳东

配置 Minio

第七周学习总结

王锟

秒懂云通信:选云通信到底哪家强?

巨侠说

云通信 通信云

英特尔唐炯:竞争推动PC行业良性发展,促使英特尔前行

飞天鱼2017

Apache下error.log文件太大的处理方法

一直AC一直爽

ARTS-WEEK7

一周思进

ARTS 打卡计划

性能测试和并发压力的关系

王锟

面试官拿System.out.println()考了我半个小时?我傻了

Java小咖秀

Java 面试

我向面试官讲解了单例模式,他对我竖起了大拇指

cxuan

设计模式 单例模式

WebRTC框架下的实时视频关键路径

fumingwang

JVM系列之:String,数组和集合类的内存占用大小

程序那些事

Java JVM GC JOL

http请求压测工具

潜默闻雨

【一起学系列】之命令模式:封装一个简单Jedis

Kerwin

设计模式 命令模式 Jedis

架构师第七周作业

傻傻的帅

【小白学YOLO】YOLOv3网络结构细致解析

华为云开发者社区

人工智能 网络 物体检测 华为云 网络层

47 张图带你 MySQL 进阶!!!

cxuan

MySQL 后端

新手村:MySQL 学习经验、资源的分享

多选参数

MySQL MySQL 高可用 MySQL优化

来了,来了,你们要的Nginx教程来了

Java旅途

nginx

架构训练营第七周作业

张锐

直播中那几秒延时到底来自哪?

巨侠说

CDN 云直播 直播 直播带货

BIGO | Likee深度推荐模型的特征工程优化

InfoQ_3597a20b53cc

人工智能

百度人脸算法“飞速迭代”,多模态活体检测V3.1获银行卡检测中心增强级认证

百度大脑

人工智能 人脸识别 百度大脑

如何写出完美的接口:接口规范定义、接口管理工具推荐

xcbeyond

接口规范 接口管理工具 swagger Easy Mock

企业架构框架之FEA

Winfield

企业架构

手写实现Promise

GKNick

性能测试与优化 和 操作系统与文件系统

满山李子

极客大学架构师训练营

性能提升50%、资源占用节约70%,知乎问答服务 Go 语言重构实践-InfoQ