最近正好在写文整理,搜到了这个问题,顺便粘贴一份放到这里。其实这个我已经写过一次,不过重复总结,每次的感觉都不一样。
Go 的应用领域,总结出来主要是下面几个领域。
微服务
现在越来越多新的项目采用微服务架构,前面介绍的优秀项目中也看到很多 Go 提供的微服务框架,如 git-kit、go-micro 等。
举一些具体公司的例子。
比如今日头条,2017 的一篇文章 今日头条使用 Go 构建了千万级微服务,其中说到有 80% 的流量都跑在 Go 上,其中提到头条还开发了自己的一套微服务框架;还有 B 站也是采用的 Go 开发,这个就不用多介绍了,大家应该都懂的。
云平台
云服务很多都是采用 Go 进行开发,比如国内著名的七牛云是全站采用 Go 开发;还有如盛大 CDN、阿里云 CDN 等。而且云平台基础设施如 docker、kubernetes 等也是 Go 开发;
七牛云的 CEO 是国内早期第一批敢吃螃蟹的人,为 Go 在国内的推广做出了极大的贡献。
Web
net/http
区块链
当前两个主流的区块链框架,分布式记账本框架 hyperledger 和以太坊合约框架 go-ethereum 都是使用 Go 开发;
某招聘网站的区块链职位要求技能的分析,如下图。
分布式
诸如数据库中间件、分布式存储、代理服等项目很多是采用 Go 开发,比如前面的介绍 cockroachdb、etcd等;
京东云消息推送系统、云存储等都有使用Go做开发。360 的推送服务也在使用,Go 官方有篇博客 https://blog.golang.org/qihoo 就是出自他们。
其他
除了上面介绍的这些,其实很多领域都能看到 Go 的影子,如直播领域、游戏开发、AI 算法等等,在其中 Go 为后台的调度系统、任务处理,批量的数据计算、系统监控等都提供了各种优秀的解决方案。
一个例子,比如知乎也使用 Go 进行重构了自己的推荐系统,查看文章 舍弃 Python,为什么知乎选用 Go 重构推荐系统?