导读谷歌开源了Go Cloud项目,旨在让Go语言(Golang)成为开发云应用程序的首选语言。该项目提供了一个库和用于构建可在多个云平台之间移植的应用程序的工具。 Go Cloud还处于早期测试版阶段,还不适合用在生产环境中。
Go语言在云端开发方面具有一定优势,比如低延迟和内置并发。与此同时,Go Cloud还提供了一组API来编写更简单、更可移植的应用程序。
这组通用的API包括:
非结构化的二进制(blob)存储。
可在运行时修改的变量。
与MySQL数据库的连接。
服务器启动和诊断,包括请求记录,跟踪和运行状况检查。
Go Cloud是基于这些API构建可移植云计算机生态系统的基础。目前,Go Cloud的GitHub仓库提供了Google Cloud Platform和Amazon Web Services的实现。后续将很快支持更多的云供应商。
这个项目的关键是Wire,它是一个代码生成器,可以创建人类可读的代码,并为开发人员导入云供应商的SDK。Go Cloud因此可以在不增加编译时间或二进制文件大小的情况下为云供应商提供支持,同时避免来自init()函数的影响。
Wire使用依赖注入自动连接组件。组件依赖关系表示为函数参数,并鼓励开发人员进行显式初始化,而不是使用全局变量。Wire可以在没有运行时状态或反射的情况下执行,从而可以使用手写的初始化代码。
虽然Go语言在开发人员中非常受欢迎,但谷歌认为,这门语言缺少用于与云服务连接的标准库。开发人员通常需要开发自己的库才能使用云端的功能,而企业又希望能够轻松地在云平台之间转移他们的工作负载。
谷歌认为,Go Cloud可以让开发团队构建可在任意受支持云平台上运行的应用程序,而无需重新构建应用程序的大部分内容。
谷歌开发者关系副总裁Adam Seligman说,谷歌希望这一举措能够带动Go语言生态库的爆发式增长。当然,这也将加速Go语言成为一门云端开发语言。
查看英文原文:
原文来自:https://www.linuxidc.com/Linux/2018-08/153428.htm
本文地址:https://www.linuxprobe.com/go-cloud.html编辑:周晓雪,审核员:逄增宝
有疑问加站长微信联系(非本文作者)