请教下 Go 目前主流的 web 和微服务框架是啥? - V2EX
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 9387 次点击
    这是一个创建于 948 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想准备 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
    14v45mJPBYJW8dT7
        10
    14v45mJPBYJW8dT7  
       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     Solana     3762 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 05:20 PVG 13:20 LAX 22:20 JFK 01:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86