点击这里,查看剩余10个高效有用的Go 语言微服务开发框架

Beego https://beego.me/

Beego 框架提供了很多标准附加功能,例如全功能路由器和可用于执行 CRUD 操作的对象到数据库映射工具。Bee 是 Beego 爱好者的最爱,它是一个快速而强大的命令行工具,用于构建、更新、打包和部署应用程序。Bee 可以从模板生成源代码,并保持数据库的最新状态。

Buffalo https://gobuffalo.io/en

Buffalo 团队需要能够将 Web 应用程序的所有部分组装在一起的东西,包括应用程序本身的一些设计。他们把能够安装在一起的很多部件叫作“生态系统”。如果你想要路由——很少有人不需要——Buffalo 就包含了 Gorilla/Mux。如果你需要模板,Buffalo 倾向于使用 Plush,而不是使用内置的 Go 语言模板机制。数据库连接模块集合 Pop 可以帮你将数据库信息转换为 Go 对象。你还可以找到连接数据库、处理 cookie 以及完成其他任务的标准方法。

Cobra https://github.com/spf13/cobra

有时候,你只需要一个命令行界面。Cobra 提供了 CLI 的所有标准功能,因此你不必浪费时间实现代码来查找 -h 或 -help 标志。如果你的微服务需要对具有大量标志和其他功能的命令行调用做出响应,那么可以考虑集成 Cobra。

Docker你当然可以在办公室服务器小黑屋里的裸机上运行微服务,但越来越多的人将他们的代码捆绑在 Docker 容器中,并将容器发到云端。小型的包更容易处理大量不同的代码块,当你对微服务架构的愿景要求你创建很多小的独立代码块时,这将是一项有价值的服务。

值得一提的是,Docker 是用 Go 语言开发的,尽管在部署 Docker 容器时你可能永远不会想到这一点。Docker 社区版是开源的,所以如果有必要,你可以参与其中,但很可能你只是将 Docker 作为部署微服务的工具。Go 语言爱好者之所以想要记住 Docker 是用 Go 语言开发的这一事实,是因为无处不在的 Docker 有力地证明了他们对这门语言的支持。

Echo https://echo.labstack.com/

Echo 是一个极简框架,但它提供了很多最重要的组件。路由器可以将 URL 拆解,然后将拆解的各个部份转换为参数,因此你无需自行解析它们。然后,你可以混合使用身份验证、表单解析、压缩和合理性限制。你可以专注于从函数中返回正确的信息。

Errors https://github.com/juju/errors

有时候,API 的用户会传递错误的参数。你可以自己处理这些参数,也可以把它们创给 Errors,这是一个可以自动执行大部分跟踪的库,方便进行调试。当发生错误时,Errors 会使用注释来详细说明出错的地方和位置。

Gin https://github.com/gin-gonic/gin

Gin 是 Martini( https://github.com/go-martini/martini )的下一代框架。可以说,Gin 抛弃了那些额外的东西,专注于提供最有用的部分。花费大量时间构建 Node.js 微服务的开发人员会感到宾至如归。你可以实例化一个对象,然后附加函数来处理特定的调用,这样就可以创建一个微服务。Gin 负责处理路由,而你的函数处理业务逻辑。如果不去考虑标点符号,它的代码甚至看起来有点像 Node.js 代码。

Ginkgo https://onsi.github.io/ginkgo/

测试可能是微服务开发当中最具挑战性的事情。Ginkgo 通过行为驱动测试扩展了标准 Go 发行版的内置测试机制。Ginkgo 提供了一种高级机制,用于指定函数或服务应该产生哪些结果。结果通常使用 Ginkgo 提供的 Gomega 匹配器( http://onsi.github.io/gomega/ )进行评估,但如果你愿意,也可以使用不同的匹配器库。

Ginkgo 是一个全面的框架,提供了各种选项,用于设置测试数据、运行测试以及在事后释放测试数据。你只需要描述结果,然后让 Ginkgo 处理其他的事情。

Goa https://github.com/goadesign/goa

如果你是一个曾经使用 Ruby 和 Praxis 框架的开发人员,或者是一个欣赏设计语言的强大力量人,那么你会在 Goa 中找到很多你喜欢的东西。你本身不需要编写 Go 代码。你使用 Goa DSL 为 API 编写设计规范,然后 Goa 将其转换为可执行的 Go 代码。DSL 针对微服务 API 进行了优化,并强制你的设计遵循标准的架构。

Gorilla http://www.gorillatoolkit.org/

Gorilla 项目提供了一系列你需要的模块。Gorilla 的 Mux( http://www.gorillatoolkit.org/pkg/mux )路由器被很多其他框架使用,因为它太好用了。很多用户之所以使用 Gorilla,是因为 websocket( http://www.gorillatoolkit.org/pkg/websocket )。

Gotify https://github.com/gotify/server

同步一组微服务所面临的一个挑战是建立有效的消息传递节点。Gotify 是一个简单的服务器,用于发送和接收消息,将你的微服务集合与持续存储的消息组合在一起。最有用的部分可能是它的 Web 接口,可帮助开发者应对最令人头疼的调试问题。

关键字:开发 框架 前端开发 Go API 微服务

20 个有用的 Go 语言微服务开发框架吐血总结!!!相关推荐

  1. 20 个有用的 Go 语言微服务开发框架

    2007 年,谷歌的一个团队在调研计算机编程语言时,发现有数百种可用于开发软件的语言,但没有一种能提供谷歌真正需要的特性.有些语言太过底层,有些又太过复杂,有些特性对他们来说反而会碍手碍脚.谷歌的开发 ...

  2. Go语言微服务开发框架:Go chassis

    摘要:分布式系统中每个进程的动态配置管理及运行时热加载就成为了一个亟待解决的问题.go chassis汲取了netflix的archaius框架经验,并做出来自己的创新特性. 引言 https://g ...

  3. 20 个好用的 Go 语言微服务开发框架

    2007年,谷歌的一个团队在调研计算机编程语言时,发现有数百种可用于开发软件的语言,但没有一种能提供谷歌真正需要的特性.有些语言太过底层,有些又太过复杂,有些特性对他们来说反而会碍手碍脚.谷歌的开发人 ...

  4. 微服务 java golang_20 个好用的 Go 语言微服务开发框架

    作者 | Peter Wayner译者 | 阿拉丁 2007 年,谷歌的一个团队在调研计算机编程语言时,发现有数百种可用于开发软件的语言,但没有一种能提供谷歌真正需要的特性.有些语言太过底层,有些又太 ...

  5. ServiceComb微服务开发框架介绍

    [摘要] 本文根据2018-10-20北京OSCAR开源先锋日演讲内容整理.重点介绍了ServiceComb的项目开源背景.项目组成以及每个项目的核心设计.通过介绍ServiceComb的核心治理能力 ...

  6. 微服务开发框架 SpringCloud

    今天给大家介绍一下微服务开发框架 SpringCloud. 概述 微服务架构是当前软件开发领域的技术热点.它在各种博客.社交媒体和会议演讲上的出镜率非常之高.大家以前可能或多或少听说过些许.然而微服务 ...

  7. 国信证券开源自研的微服务开发框架 Zebra

    https://www.infoq.cn/article/qtxfqPepvPeVwYDy2EHD?utm_source=weibo&utm_medium=infoq&utm_camp ...

  8. PHP 微服务开发框架

    从近年来的业界架构演进来看,微服务已经逐渐成为趋势.伴随着微服务架构的这种快速发展节奏,各种开发语言各种类型的微服务开发框架相继出现,据各家使用微服务框架的情况,可以看到主要分为四种模式: 无服务治理 ...

  9. java主流微服务框架_Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解,...

    Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解, Spring Boot相对于传统的SSM框架来说:springboot使用了特定的配置方式,开发人员不需要 ...

  10. 【华为云技术分享】华为云ServiceStage-企业级微服务开发框架利器

    导语:近期,国外HashiCorp在官网宣布,不允许中国境内使用.部署和安装该企业旗下的企业版产品和软件,其中包括Consul.那么国内企业有没有类似的服务可以提供呢?答案是有!我们一起来看看华为云S ...

最新文章

  1. 数字图像处理:第二十章 视频编码与压缩
  2. 第十四章:详解Jenkins节点配置
  3. 微型计算机电源的选购应注意哪些问题,购买小功率ups电源的注意事项
  4. 使用GZIP和压缩数据
  5. 高可用+负载均衡 方案
  6. 给电子类大学生一点求职建议
  7. VisualSVN Server 修改用户密码
  8. apache 支持php urlmanager,Yii中urlManager的配置
  9. 人为什么要去旅行?旅行跟旅游的区别是什么?
  10. (转)百度金融联合多方发布国内首单区块链证券化项目 发行规模超4亿
  11. Java排序算法——猴子排序(Bogo Sort)
  12. 可以使用C#语言的在线ACM题库
  13. DVI 口转 VGA 手工接线方法
  14. chrome保存网页为图片
  15. 【物理学术竞赛】——绳上的球(再续)
  16. 二进制炸弹--拆弹实验
  17. 初中数学知识点总结_初中数学知识点总结
  18. 请用python3编写一个计算器的控制台程序_二、软件工程慕课第一章作业题——编写一个计算器...
  19. Android和风天气sdk
  20. C++ Primer Plus读书笔记

热门文章

  1. 监控工具Zabbix之原理及部署
  2. 【Python从入门到精通】(二十八)五万六千字对Python基础知识做一个了结吧【值得收藏】
  3. 前端使用jspdf生成PDF通过ajax传输后台生成PDF文件
  4. 任正非:华为云不能简单模仿阿里、亚马逊,要有所为有所不为|CEO说
  5. 关于调用360极速浏览器 2345浏览器的方法
  6. 《财富》杂志推荐的75本商业必读书?
  7. Unity2D中逐帧动画的制作
  8. 「总结」最全2万字长文解读7大方向人脸数据集v2.0版
  9. 数字化会议管理系统,实现会议全流程管理
  10. 深度学习之TensorFlow(一)