V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
leeraya
V2EX  ›  Go 编程语言

请教下 Go 目前主流的 web 和微服务框架是啥?

  •  
  •   leeraya · 2023-03-20 14:45:18 +08:00 · 8530 次点击
    这是一个创建于 643 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    45 条回复    2023-04-24 11:29:13 +08:00
    bug123
        1
    bug123  
       2023-03-20 14:47:21 +08:00
    gin
    abcdexx
        2
    abcdexx  
       2023-03-20 14:48:38 +08:00   ❤️ 1
    web-gin 微服务 go-zero 奎托斯
    aw2350
        3
    aw2350  
       2023-03-20 14:49:34 +08:00   ❤️ 1
    gin kratos go-micro go-zero jupiter
    dog82
        4
    dog82  
       2023-03-20 14:55:28 +08:00
    我以前用 beego ,现在用 gin
    其实就用一些基本的功能
    aliezleft
        5
    aliezleft  
       2023-03-20 15:04:18 +08:00
    gin+k8s+istio
    Dogtler
        6
    Dogtler  
       2023-03-20 15:05:33 +08:00
    gofiber grpc
    brader
        7
    brader  
       2023-03-20 15:10:14 +08:00
    @dog82 兄弟们,请教一下,我一直在用其他语言,都是习惯 MVC 模式的开发,然后自学了一下 GO ,主要看了 beego 和 gin ,我用起来,感觉 beego 比较符合自己的习惯,转过去也相对轻松。我有些 GO 朋友,就说 gin 比较好用,但是我尝试玩了一下,可以用,但是我觉得让我自己把项目结构、代码,合理的组织起来,感觉很难,无从下手,就给我感觉 gin 好像对新手不怎么友好,看官方文档也没有任何推荐如何组织目录结构,我大概也不可能像他们 demo 那样,在 main.go 随意写吧
    liuxu
        8
    liuxu  
       2023-03-20 15:12:28 +08:00
    主流 gin ,我用 fiber

    单请求 20 个 update:


    单请求 20 个 query:
    will2zuo
        9
    will2zuo  
       2023-03-20 15:13:05 +08:00
    trpc-go
    rimutuyuan
        10
    rimutuyuan  
       2023-03-20 15:13:59 +08:00
    @brader

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

    目录格式可以 github 搜一下 openbilibili
    liuxu
        11
    liuxu  
       2023-03-20 15:15:59 +08:00
    @brader 自己建 mvc 目录写,可以看看我的一个小项目 https://github.com/liuquanhao/moyu/tree/main/manager/backend
    HJWu
        12
    HJWu  
       2023-03-20 15:17:17 +08:00
    @brader 这种情况下可以试下 goframe 框架,https://github.com/gogf/gfgoframe.org
    kalllllllen
        13
    kalllllllen  
       2023-03-20 15:17:27 +08:00   ❤️ 1
    web 框架的话 gin 比较流行,用的人应该比较多,我司用的 go restful 。如果对 go 目录结构有疑惑的话可以参考 https://github.com/golang-standards/project-layout
    brader
        14
    brader  
       2023-03-20 15:26:40 +08:00
    @liuxu 好,我学习下,正好我刚开始可以从简单的项目源码看起
    maigebaoer
        15
    maigebaoer  
       2023-03-20 15:30:44 +08:00 via Android
    go web 用得比较多的是 gin 吧,其实 go 一般可以不用框架,缺啥 import 啥
    jackge0323
        16
    jackge0323  
       2023-03-20 15:48:55 +08:00
    kitex 没人用吗?
    LoNeFong
        17
    LoNeFong  
       2023-03-20 15:51:08 +08:00
    SharbiOfficial
        18
    SharbiOfficial  
       2023-03-20 15:53:50 +08:00
    留言学习
    @brader
    UserNameisNull
        19
    UserNameisNull  
       2023-03-20 15:58:50 +08:00
    推荐字节的开源框架,hertz 和 kitex https://www.cloudwego.io/zh/
    FrankAdler
        20
    FrankAdler  
       2023-03-20 16:15:57 +08:00
    echo 、gin 吧
    waising
        21
    waising  
       2023-03-20 16:42:15 +08:00
    gin+grpc
    DamonLin
        22
    DamonLin  
       2023-03-20 17:14:23 +08:00
    gin+grpc
    IIInsomnia
        23
    IIInsomnia  
       2023-03-20 17:34:26 +08:00
    yiigo + chi ,相当轻量易用,该有的基本都有,它还有个 demo: https://github.com/shenghui0779/tplgo
    Hellert
        24
    Hellert  
       2023-03-20 17:37:54 +08:00 via Android
    echo
    ScepterZ
        25
    ScepterZ  
       2023-03-20 17:42:08 +08:00
    你说的这三个公司应该用的都是自建的框架
    dongsoso
        26
    dongsoso  
       2023-03-20 17:44:01 +08:00
    web gin, 微服务目前没有好用的全家桶,可以不用,个人不喜欢 go-zero,kratos
    dongsoso
        27
    dongsoso  
       2023-03-20 17:45:35 +08:00
    web gin 。 微服务目前没有好用的全家桶,可以不用,个人不喜欢 go-zero,kratos
    Kontinue
        28
    Kontinue  
       2023-03-20 17:54:27 +08:00
    主流的会用 go 写业务吗?
    webcape233
        29
    webcape233  
       2023-03-20 18:07:23 +08:00 via iPhone
    echo 吧,真的易用
    zhuzhibin
        30
    zhuzhibin  
       2023-03-20 19:36:08 +08:00
    收藏一下 偷偷卷
    tairan2006
        31
    tairan2006  
       2023-03-20 20:37:53 +08:00
    web 还是 gin

    微服务直接上 k8s 啊…istio 要是你能落地也行,不行可以上 dapr
    echo1937
        32
    echo1937  
       2023-03-20 20:47:39 +08:00 via iPhone
    gin
    转 go 真不是为了 web 去的,写 web 也是捎带罢了。
    hotsymbol
        33
    hotsymbol  
       2023-03-20 21:03:21 +08:00
    trpc-go 和 tars-go
    voidmnwzp
        34
    voidmnwzp  
       2023-03-20 21:56:17 +08:00 via iPhone
    反正我自己写 http 服务只用 net/http 库 够用了
    gowk
        35
    gowk  
       2023-03-20 22:36:39 +08:00
    @tairan2006
    dapr 搞微服务有现成的例子可以参考吗
    zzhzero
        36
    zzhzero  
       2023-03-20 22:59:06 +08:00   ❤️ 1
    1. go 没有强制项目布局 可以搜一下 go layout 算是通用的一个布局规范
    2. web 这一块 go 其实原生库就够用了 框架只要不是太垃圾性能都差不多 从工具包的角度看 go-zero 算是功能最全的一个
    3. Java 是人多岗位多 Go 是岗位不多人还不少 转 Go 的压力不比 Java 小
    leeraya
        37
    leeraya  
    OP
       2023-03-21 09:56:58 +08:00
    @Kontinue 我个人也觉得 go 写业务还不如 java 顺手,我曾经也用 go 写分布式 db 的,可能基础设施才是 go 的擅长。
    leeraya
        38
    leeraya  
    OP
       2023-03-21 10:01:03 +08:00
    @zzhzero 个人觉得主要是 java 是很多其他转行来的首选,这样也造成市场真的很卷,也很掉价。我之前找 go 方面的工作发现 go 的市场还是很健康的,比如腾讯的一些子公司基本都是 go ,在我们这( wuhan )给的也还可以。我面了两次,都因为表现不佳挂掉了,我最近想多学习一下 go ,准备再面。
    Kontinue
        39
    Kontinue  
       2023-03-21 10:22:08 +08:00
    @Kontinue 目前也在 java 阵痛期,感觉现在公司没啥能拿得出手的项目,可是自己要怎么转?自学没实际经验也不太行吧?
    louxiaohei
        40
    louxiaohei  
       2023-03-21 10:51:27 +08:00
    @leeraya 我最近也想转 go ,但没 go 的工作经验完全面试都没有,你是咋做到的
    leeraya
        41
    leeraya  
    OP
       2023-03-21 14:01:28 +08:00
    @louxiaohei 我们这有些岗位明确说了接受 java 转 go ,有相关业务领域经验就可。我第一次面的腾讯会议,就没有问 go 的那些底层面试题,只问了简单的指针遍历和说一下 go 和 java 的区别。第二次面腾讯的 IOA ,也是 go 栈,一句 go 都没提。另外我看了下,这里的微派也是接受 java 转的。仔细找找还是有的。
    leeraya
        42
    leeraya  
    OP
       2023-03-21 14:15:30 +08:00
    @Kontinue 自己没有拿得出手的项目可以把公司其他牛逼的项目写成自己的,自己理解这么实现的就好了。转语言可以表明自己有业务经验,有业余 go 项目开发经历,有主动学习能力,还有就是各种途径多投简历好了,面试也是学习的过程。
    VoiceEXONE
        43
    VoiceEXONE  
       2023-03-21 14:59:48 +08:00
    想问楼主 Java 工作几年了打算转 Go ?
    leeraya
        44
    leeraya  
    OP
       2023-03-21 15:32:11 +08:00
    @VoiceEXONE 一年半 Java 微服、9 个月 Go 基础设施、3 个月 C#,.Net Core 、3 个月运维。
    magicrolan
        45
    magicrolan  
       2023-04-24 11:29:13 +08:00
    kratos 目录那个下划线能让我难受死
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   934 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:39 · PVG 03:39 · LAX 11:39 · JFK 14:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.