有哪些不错的 Golang 开源项目?

2021年7月17日 245点热度 0人点赞 0条评论

寻找 Golang 开源项目学习目的可能是:

  • 想学习或者提高自己对 Go 项目的组织和编排能力;

  • 想学习 Go 项目的框架设计;

  • 想在一些 Go 语法上细节的优化和进阶。

我推荐两个项目:

一、tinode

这是一个开源的即时通讯软件,既然是即时通讯软件,学习的时候基本上无任何业务负担,可以专注地学习程序逻辑本身。

服务端代码(使用 Go 开发)地址:

https://github.com/tinode/chat

搭建出来的服务部分截图:

图片

图片

图片

图片

二、斗鱼直播的朱庇特

项目官网:http://jupiter.douyu.com/

项目源码地址:https://github.com/douyu/jupiter

项目结构图:

图片

通过这个项目,你可以学习到如何使用 Go 开发:

  • 支持 HTTP 请求

  • 支持 RPC 请求、RPC 实现

  • 服务注册与发现

  • 长短任务设计

  • 负载均衡

  • 指标采集/链路追踪/日志埋点

  • 慢响应拦截

  • 熔断限流

  • 接入各种消息中间件(如 Kafka、RocketMQ 等)

  • 接入各种缓存服务(如 Redis)

  • 其他功能

三、学习 Go 的建议

Go 语法虽然容易上手,但是学好 Go 并不是特别容易,也需要了解很多语言细节和加以实战。

如果你是一个 Go 新人,建议先系统地把 Go 的常用语法特性和内置库先过一遍,推荐《Go 程序设计语言》,或者看看许式伟老师的《Go 语言编程》。

当你有一定基础之后,可以看看雨痕大佬的《Go 语言学习笔记》和 《Go 专家编程》进行查漏补缺和提升。

国外有一本《Distributed Computing with Go》(Go 分布式计算)。

打开下面的公众号回复 「gopdf」获取相关电子书。

回复 「gopdf」获取 go 电子书

然后研究学习一些开源项目,假以时日,一定能拥有不错的 Go 水平了。

46070有哪些不错的 Golang 开源项目?

这个人很懒,什么都没留下

文章评论