Kubernetes微服务实战
上QQ阅读APP看书,第一时间看更新

3.2 为什么选择Go

我用过许多优秀的编程语言(例如C/C++、Python、C#和Go)编写并交付了生产环境的后端代码,我还使用过一些不太好用的编程语言,但是我决定将Go用作Delinkcious的编程语言,因为它是微服务的绝佳搭档:

·Go可以编译为一个没有外部依赖的二进制文件(对于希望编写简洁的Dockerfile来说太棒啦)。

·Go非常易读,也易于学习。

·Go对网络编程和并发具有出色的支持。

·Go是许多云原生数据存储、队列和框架(包括Docker和Kubernetes)的实现语言。

你可能会认为微服务应该与语言无关,并且我不应该只关注一种语言。的确如此,但是我的目标是在这本书中动手实践,并深入研究在Kubernetes上构建微服务的所有细节。为此,我必须做出具体选择并坚持下去。试图在多种语言获得同样的深度可能是徒劳的,虽说微服务的边界非常清晰(微服务的优势之一),但是你可以看到以不同语言实现微服务可能会给系统其余部分带来一些问题。