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

Posted analogous_love

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有哪些不错的 Golang 开源项目?相关的知识,希望对你有一定的参考价值。

目前人在字节做 Go 开发。

寻找 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 专家编程》进行查漏补缺和提升。

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

网上有同学分享出来相关电子书(喜欢的请购买正版哦):

链接: https://pan.baidu.com/s/1rpYUhVgCFIv8jHe4wjFqHA  密码: l6kg

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

以上是关于有哪些不错的 Golang 开源项目?的主要内容,如果未能解决你的问题,请参考以下文章

golang都有哪些不错的游戏服务器框架

golang有没有好的开源游戏框架

你用过哪些好用的开源软件?

推荐4个不错的开源项目

golang 都有哪些比较稳定的 web 开发框架

Golang的一个CLI框架