golang go语言
当2007年由一组Google编码人员查看各种计算机语言时,他们看到了数百种非常好的工具来编写软件,但没有一个工具能够为Google提供正确的功能。 也就是说,这种语言支持Google建立在众多服务器中协同工作的软件包体系的Google愿景。
有些语言过于关注堆栈的最低位。 其他的则太复杂了,具有很多只会妨碍它们的功能。 Google开发人员希望使用一种既简单又能在几个小时之内学习但又足够复杂的语言来处理现代Internet上的信息流。
解决方案是Go,这种语言对于使用C,Java或JavaScript的程序员来说将是一种熟悉的语言,换句话说,几乎每个程序员都可以。 Go具有足够的功能来编写一些循环和编码块,但没有一个精巧的想法需要花费一些时间来掌握。 内置例程经过了优化,可以从Internet接收数据。 其他一切,无论多么聪明,都被排除在外。
对于基于微服务架构构建应用程序的团队来说,Go是一个不错的选择,因为这些服务群只是Google今天运行的银河系的较小版本。 您的项目可能不会向世界提供电子邮件,地图,搜索和无数其他云服务,但最终仍可能为用户提供数十种不同的小型信息服务。 每个微服务项目都只是Google的一个微观版本,也可能是一个纳米版本。
Google决定开源Go是一个明智的决定。 该语言已经培养了成千上万的项目,这些项目为您的Web项目提供了构建基块。 这种丰富的传统使在其他团队中并行工作以创建自己的星座更加容易。
以下是20个最有趣的开源项目,它们用于旋转Go微服务网络。 从专注于消息传递,路由,错误处理或API的小型工具包,到用于构建MVC Web应用程序的更完整的框架,您将发现大量使用Go进行微型化的选择。
比戈
Beego框架包括许多标准附加功能,例如功能齐全的路由器和带有CRUD操作的对象到数据库映射器,几乎可以随时使用。 Bee工具是许多Beego爱好者最喜欢的工具 ,它是一种快速而强大的命令行工具,用于构建,更新,打包和部署应用程序。 Bee工具将从模板生成源代码,并使数据库保持最新状态。
水牛
到目前为止,许多微服务框架仅带您进入。 Buffalo团队需要一些东西来组装Web应用程序的所有部分,包括应用程序本身的一些设计。 他们喜欢将它称为“生态系统”,它可以将许多零件安装在一起。 如果您要路由(很少有