Golang Go语言中目前主流的web和微服务框架是啥?

发布于 1周前 作者 phonegap100 来自 Go语言

最近想准备 java 转 go 。java 找工作真的被华为 od 给 ex 到了,再也不想找 java 工作了,感觉真没前途。 想请教下老铁们有无了解腾讯、字节、b 站等主流 go 栈公司用的啥 web 和微服务框架?


Golang Go语言中目前主流的web和微服务框架是啥?
46 回复

gin

更多关于Golang Go语言中目前主流的web和微服务框架是啥?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


web-gin 微服务 go-zero 奎托斯

gin kratos go-micro go-zero jupiter

我以前用 beego ,现在用 gin
其实就用一些基本的功能

gin+k8s+istio

兄弟们,请教一下,我一直在用其他语言,都是习惯 MVC 模式的开发,然后自学了一下 GO ,主要看了 beego 和 gin ,我用起来,感觉 beego 比较符合自己的习惯,转过去也相对轻松。我有些 GO 朋友,就说 gin 比较好用,但是我尝试玩了一下,可以用,但是我觉得让我自己把项目结构、代码,合理的组织起来,感觉很难,无从下手,就给我感觉 gin 好像对新手不怎么友好,看官方文档也没有任何推荐如何组织目录结构,我大概也不可能像他们 demo 那样,在 main.go 随意写吧

主流 gin ,我用 fiber

单请求 20 个 update:


单请求 20 个 query:



虽说用顺手了都一样,但还是不建议 beego ,内置的功能总有不满足需求的时候,到最后还是自己找各种三方组件,而且 beego 现在几乎不更新了。

目录格式可以 github 搜一下 openbilibili

自己建 mvc 目录写,可以看看我的一个小项目 https://github.com/liuquanhao/moyu/tree/main/manager/backend

这种情况下可以试下 goframe 框架,https://github.com/gogf/gfgoframe.org

web 框架的话 gin 比较流行,用的人应该比较多,我司用的 go restful 。如果对 go 目录结构有疑惑的话可以参考 https://github.com/golang-standards/project-layout

好,我学习下,正好我刚开始可以从简单的项目源码看起

go web 用得比较多的是 gin 吧,其实 go 一般可以不用框架,缺啥 import 啥

kitex 没人用吗?

推荐字节的开源框架,hertz 和 kitex https://www.cloudwego.io/zh/

echo 、gin 吧

yiigo + chi ,相当轻量易用,该有的基本都有,它还有个 demo: https://github.com/shenghui0779/tplgo

你说的这三个公司应该用的都是自建的框架

web gin, 微服务目前没有好用的全家桶,可以不用,个人不喜欢 go-zero,kratos

web gin 。 微服务目前没有好用的全家桶,可以不用,个人不喜欢 go-zero,kratos

主流的会用 go 写业务吗?

echo 吧,真的易用

收藏一下 偷偷卷

web 还是 gin

微服务直接上 k8s 啊…istio 要是你能落地也行,不行可以上 dapr

gin
转 go 真不是为了 web 去的,写 web 也是捎带罢了。

trpc-go 和 tars-go

反正我自己写 http 服务只用 net/http 库 够用了


dapr 搞微服务有现成的例子可以参考吗

  1. go 没有强制项目布局 可以搜一下 go layout 算是通用的一个布局规范
    2. web 这一块 go 其实原生库就够用了 框架只要不是太垃圾性能都差不多 从工具包的角度看 go-zero 算是功能最全的一个
    3. Java 是人多岗位多 Go 是岗位不多人还不少 转 Go 的压力不比 Java 小

我个人也觉得 go 写业务还不如 java 顺手,我曾经也用 go 写分布式 db 的,可能基础设施才是 go 的擅长。

个人觉得主要是 java 是很多其他转行来的首选,这样也造成市场真的很卷,也很掉价。我之前找 go 方面的工作发现 go 的市场还是很健康的,比如腾讯的一些子公司基本都是 go ,在我们这( wuhan )给的也还可以。我面了两次,都因为表现不佳挂掉了,我最近想多学习一下 go ,准备再面。

目前也在 java 阵痛期,感觉现在公司没啥能拿得出手的项目,可是自己要怎么转?自学没实际经验也不太行吧?

我最近也想转 go ,但没 go 的工作经验完全面试都没有,你是咋做到的

我们这有些岗位明确说了接受 java 转 go ,有相关业务领域经验就可。我第一次面的腾讯会议,就没有问 go 的那些底层面试题,只问了简单的指针遍历和说一下 go 和 java 的区别。第二次面腾讯的 IOA ,也是 go 栈,一句 go 都没提。另外我看了下,这里的微派也是接受 java 转的。仔细找找还是有的。

自己没有拿得出手的项目可以把公司其他牛逼的项目写成自己的,自己理解这么实现的就好了。转语言可以表明自己有业务经验,有业余 go 项目开发经历,有主动学习能力,还有就是各种途径多投简历好了,面试也是学习的过程。

想问楼主 Java 工作几年了打算转 Go ?

一年半 Java 微服、9 个月 Go 基础设施、3 个月 C#,.Net Core 、3 个月运维。

kratos 目录那个下划线能让我难受死

在Golang(Go语言)生态中,目前主流的Web和微服务框架如下:

Web框架

  1. Gin:一个轻量级、高性能的Web框架,以其速度和效率著称。Gin提供了灵活的路由机制、丰富的中间件支持,非常适合构建高性能的微服务和API。
  2. Beego:一个全功能的Web应用框架,包含了ORM、日志、缓存等多种功能,非常适合构建大型、复杂的Web应用。
  3. Echo:也是一个高性能的Web框架,提供了简洁易用的API,支持中间件和灵活的路由机制。
  4. Iris:另一个性能优异且易于使用的Web框架,支持快速和异步处理,功能集成度高。

微服务框架

  1. go-micro:一个基于gRPC的微服务框架,提供了服务发现、负载均衡、熔断等功能,支持多种传输协议和序列化格式,具有良好的可扩展性。
  2. go-zero:一个基于Go语言的微服务框架,提供了代码生成工具、RPC框架、数据访问层等多种功能,支持快速开发和部署微服务应用。
  3. Istio:一个开源的服务网格解决方案,提供了流量管理、安全策略、监控等功能,适用于构建大规模的微服务架构。

选择合适的框架取决于项目的需求、规模和预期性能。在实际项目中,建议根据团队的技术栈和项目需求进行综合评估,选择最适合的框架。

回到顶部