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

有没有什么可以跟着学 gozero 微服务开源项目推荐下?

  •  
  •   tiRolin · 51 天前 · 2173 次点击
    这是一个创建于 51 天前的主题,其中的信息可能已经有所发展或是发生改变。

    按照上一篇大家的推荐,我已经系统走了一遍 go 基础了,对语法都有了基本了解也会使用了,但是目前我要投入开发的项目是使用 gozero 框架的,我看了一个三小时速成 gozero 的教程,但是只是对 gozero 的 api 和 rpc 有了基本了解,对于实际开发的案例我不太了解,所以来问问各位

    我知道有 7 天用 Go 从 0 实现 Web 的教程,但那个是使用 Gee 实现的,跟我使用 gozero 不完全一致,我已经在学了,但是我想同时看看能不能学一下 gozero 的,所以来问问大伙们,有的话直接推我仓库或者链接就好,我会去下载来看或者是学习的

    小弟我先谢谢各位了

    23 条回复    2025-07-21 12:54:32 +08:00
    NoobPhper
        1
    NoobPhper  
       51 天前
    那些框架里的设计与规范对于中小型团队是狗屎, 对于中大型企业, 人有自己的框架,当然也可能是狗屎... 你都学习了, 别整这 大而复杂的 东西, 没意义, 你可以意淫下, 如果自己设计 怎么做到用简洁而有力的代码 解决复杂场景
    DefoliationM
        2
    DefoliationM  
       51 天前 via Android   ❤️ 2
    不推荐 beego 和 gozero ,两个都是 bug 多屎山,建议换一个。
    SSang
        3
    SSang  
       51 天前
    你要是公司要求当我没说,你要是自己想学,我不能理解为什么你会对一坨史山感兴趣。
    SSang
        4
    SSang  
       51 天前
    如果你只是要改代码,那你直接上手就行了,gozero 虽然很屎,但是他至少代码结构还算是清晰的,你只有 crud 的功能的话,直接上手改就好了。如果你还没开始写,那我劝你别用框架。

    如果你一定要用框架,protobuf 和 graphql 是值得研究的。否则,Gin ,gorilla/mux 就已经足够了,别搞花里胡哨的。
    wogogoing
        5
    wogogoing  
    PRO
       51 天前 via iPhone
    安利下我自己基于公司和个人业务实现的开源项目:

    https://github.com/keepchen/go-sail

    完全从实用角度出发,没有过度封装,op 可以瞅瞅。
    Loocor
        6
    Loocor  
       51 天前
    最近维护一个用了 go-zero 的 mini 项目,适配客户变更导入表字段的情况。原来设计的时候以为不会变了,就以导入表字段业务逻辑的意义定义了一些结构体,现在要改就很纠结,修改 api 文件从头生成一次 types ?有点儿不敢,毕竟除了 types 外还有路由等一堆的东西,也怕意外覆盖了 logics ,就算用了 git 也不想折腾... 总之,这个时候就很纠结,发现不够 “非线性”,从头走一遍既懒惰又怕出错,所以当时心里想,以后可能不用这种模式来搞了,越小的项目越不用
    Ipsum
        7
    Ipsum  
       51 天前
    说的是一键生成,结果就是按他的语言模板再生成 go 。再说小公司也用不到微服务,直接 echo gin 等框架 mono 一把梭。
    Loocor
        8
    Loocor  
       51 天前
    @Loocor 给自己补充一下,不是说 go-zero 好或者不好,我自认为还没能力写这样体量、状态的项目,只是考虑适合与否。不仅有再从头撸 api 不够非线性的顾虑,对 prisma 、ent 等的使用也有顾虑了,担心不够灵活,没干过大活儿的就这样
    BeijingBaby
        9
    BeijingBaby  
       50 天前
    这类框架一般都不建议用,比较重,它继承的各个组件基本只适合“解决特定的问题”,中小团队从最基础的开始是最适合的,可以用 gorilla/mux ,gofiber 这种解决路由、中间件的小型框架。随着业务发展再逐渐去解决业务问题,刚开始就搞个大型框架,只会拖慢团队速度,也会把团队引入开源这个框架的团队问题中去。
    ExplodingFKL
        10
    ExplodingFKL  
       50 天前
    自己搭积木,不要用框架 ,基本上所谓大而全的框架都是屎山
    nanpu
        11
    nanpu  
       50 天前
    gozerolooklook ,go 的微服务框架都挺重的
    sleet
        12
    sleet  
       50 天前
    微服务迁移?
    longzhentian
        13
    longzhentian  
       50 天前
    个人感觉这类框架还是太重了,不仅要学习 go 还要学习框架的一堆东西,自动生成,甚至于有的一些框架的功能在项目中用不到,我自己用的是 gin 和 gorilla/mux ,然后想要什么功能的话自己加
    Nanosk
        14
    Nanosk  
       50 天前
    如果初期为了快速开发,省去基础设施代码的编写时间,可以用一下 gozero ,文件结构清晰且模板生成保证不会有小错误导致排查困难,但是用到后面你会发现他很多东西都是写死的,想改点啥难得很,只能 vendor 一份去改源码。bug 也多,之前提的 issue 指派给了某些人但是根本不解决。
    yiranzed
        15
    yiranzed  
       50 天前
    啊?没想到大家都不推荐框架,但我却觉得很有必要基于框架进行学习和开发。学习方面,OP 本身就是初学者,可以看一下学习一下成熟框架的封装与架构,对基础操作的处理;业务开发方面,遵循框架的规则进行开发,也能让项目多人协同开发,之后自己做修改时也会方便些。我甚至推荐一个更加大而全的框架,goframe 。
    ganbuliao
        16
    ganbuliao  
       50 天前
    学习微服务 学 istio 啊 学什么框架啊,侵入式的微服务那不就是屎山吗和微服务的思想都是背离的
    skiy
        17
    skiy  
       50 天前 via iPhone
    kitex 可以看看。
    Loocor
        18
    Loocor  
       50 天前
    @yiranfxh 学和用不一样,用一次和用多次也不一样,只有用过了才知道合不合适
    Loocor
        19
    Loocor  
       50 天前
    @skiy
    @yiranfxh 用了不少次 goframe ,确实方便,不过也越来越重了
    skiy
        20
    skiy  
       50 天前
    @Loocor 我早期也是用 goframe 。很重。跟 beego 类似。微服务的话 gf 不太适合。gf 合适写 web 。
    qloog
        21
    qloog  
       46 天前
    @wogogoing 我也安利一个,个人和公司项目都在用的:

    https://github.com/go-eagle/eagle

    开发单体项目和微服务都可以,op 有兴趣的话也可以看看
    wogogoing
        22
    wogogoing  
    PRO
       46 天前 via iPhone
    @qloog 你这个还做了业务层的封装的哦。
    qloog
        23
    qloog  
       45 天前
    @wogogoing 对的,业务相关的都放到业务层里进行编排
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2535 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:47 · PVG 23:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.