首页 存档 技术 查看内容

美餐推崇使用Go语言背后的故事

2018-3-30 13:00 |来自: 互联网 289 0

摘要: 美餐一直专注在企业订餐和综合消费领域,随着业务体量的高速增长,我们计划重构整个后台架构,于是开始考虑是继续使用 java 语言,还是更换新的技术语言。 2014年初 Go 才刚刚兴起,国内使用的公司也并不多,但是基 ...

美餐一直专注在企业订餐和综合消费领域,随着业务体量的高速增长,我们计划重构整个后台架构,于是开始考虑是继续使用 java 语言,还是更换新的技术语言。

2014年初 Go 才刚刚兴起,国内使用的公司也并不多,但是基于其简洁、高效、性能强劲的特点,以及在工程师语言上手时的难度考虑,我们内心开始觉得 Go 对于美餐这样做企业服务类型的创业公司,非常合适。

到现在,Go 已经成为美餐研发团队和多个项目的主力语言,回头来看当时的选择不能说是十全十美,但确实非常符合我们业务的特点和产品开发设计的需求。

从语言转换和上手效率来看,工程师如果有 C 语言基础,学起 Go 来非常轻松。美餐的很多工程师,之前都在使用 java、ruby、python,由于 Go 的语法简单清晰,上手非常容易,没有繁冗的语法和修饰,读起来也毫不费劲。

从开发和运行效率来看,Go 语言满足了创业公司对高效、敏捷层面的需求,工程师的开发速度明显提升,运行效率相较其他语言表现更为出色。

从应对业务高速增长和高并发来看,Go 也有天然的优势,编写并发的程序变得自然和容易,并行执行的性能表现也很稳定。

从跨平台编译来看,美餐工程师在全 Mac 环境下可以直接编写,不用额外安装任何软件就可以开发 Linux 应用程序,这当然也是取决于 Go 语言强大的标准库。

美餐开发团队现在架构正在从以前的单体架构(monolithic)转向微服务(microservice)架构,业务之间解耦,方便业务灵活变动调整,但是微服务架构给运维增加了不少负担,而 Go 社区推出的 Docker 容器化技术则很好地解决了这个问题。同时,Docker 本身也形成了整套的生态系统,其生态周边几乎都是 Go 语言的天下,DevOps 各种工具出于分发部署便利性考虑也都越来越多地使用Go,Go 在 Microservice Docker DevOps 这一整套技术方案发展非常活跃,能让应用快速开发和部署。

总体来看,尽管 Go 还比较新,在整体生态上也并未达到完美,但是它崇尚简洁、直接、效率的特性充分满足了研发团队的需求,而且在灵活性上足够大家创新地去发挥。有工程师笑言, 从 Java 转向 Go,就像从文言文转向了白话文,没有稀奇古怪的写法。不使用就不知道,使用后就会爱上她,在多人配合协作的时候大家都能很快上手、也彼此能够更好地理解,抛弃了代码本身很多繁琐、装饰的部分,直接导向实际目标。

也正是因为这些,我们看到像 Youtube、Dropbox、Uber 这些领先的互联网公司都在广泛使用 Go,国内也有越来越多像美餐一样的创业公司加入了 Go 的阵营。这样的语言和美餐价值观中一直坚持的创造、开放、务实也很吻合勇于抛弃一些传统的东西,更加时髦前卫并且富有想象力;没有不必要的条条框框,发挥能力去打造最好最酷的产品。

不久前,美餐的 10 多名工程师在 Gopher China 2016 会议上听到了更多元的案例以及分享,从云存储、人工智能到企业服务、数据库运维,Go 的实际运用更加丰富和广泛。

还有一点也很重要,Go 已经建立了成熟友好的社区,工程师可以从中获得很多有效信息和经验,也非常愿意分享,即使在开发中遇到很多问题,也可以参考学习已有的案例,提升了整体的执行效率。

本文转载自:微信公众账号 - Go中国,版权归原作者所有!

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部