golang 大家微服务都是什么方案? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Jack66
V2EX    Go 编程语言

golang 大家微服务都是什么方案?

  •  a href="Javascript:" Onclick="downVoteTopic(1053247);" class="vote">
  •   Jack66 2024-06-28 09:42:11 +08:00 8289 次点击
    这是一个创建于 521 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.使用微服务框架 2.直接 k8s 不知道大家生产环境 golang 的微服务方案怎么做的,希望一起讨论学习下

    39 条回复    2024-07-08 19:30:30 +08:00
    SethShi
        1
    SethShi  
       2024-06-28 09:58:18 +08:00
    1. go-zero
    2. k8s
    coderxy
        2
    coderxy  
       2024-06-28 10:05:37 +08:00
    微服务框架在 k8s 内部署。
    concernedz
        3
    concernedz  
       2024-06-28 10:07:59 +08:00
    k8s
    shakaraka
        4
    shakaraka  
    PRO
       2024-06-28 10:14:01 +08:00   1
    1 、go-kratos
    2 、k8s 、k3s
    koala9527
        5
    koala9527  
       2024-06-28 10:23:54 +08:00   2
    gin+consul+阿里云 ACK
    mightybruce
        6
    mightybruce  
       2024-06-28 10:26:02 +08:00
    简单的直接用 k8s ,

    复杂一点的通过 istio 改造
    lavvrence
        7
    lavvrence  
       2024-06-28 10:28:16 +08:00
    好奇怪的问题,K8s 和业务没什么关系啊,只是用来做 declarative 运维的。
    fakerqtter
        8
    fakerqtter  
       2024-06-28 10:28:50 +08:00
    字节的 hterz + kitex 可以考虑下
    mightybruce
        9
    mightybruce  
       2024-06-28 10:53:05 +08:00
    现在连过去大型国企的 java spring cloud 都在改造为 service mesh, 还搞微服务框架真的是逆历史潮流。
    service mesh 多数还能尽可能做到无侵入式, 微服务框架能有几个做到。

    看看蚂蚁金服的 sofastack ,istio 和 微软的 dapr 吧。

    相关报道很多很多
    https://www.sohu.com/a/508786560_515599
    chinaguaiu
        10
    chinaguaiu  
       2024-06-28 11:46:37 +08:00
    @mightybruce #9 spring cloud 我都没搞明白已经要 service mesh 了吗,最近几年发展那么快了吗
    szdev
        11
    szdev  
       2024-06-28 12:01:24 +08:00
    一个项目一个镜像,k8s 多 pod 发布就可以了,大部分企业完全够用
    wenyuhe
        12
    wenyuhe  
       2024-06-28 12:01:39 +08:00
    @jaylee4869 dns 作为服务发现注册也算吧
    wenyuhe
        13
    wenyuhe  
       2024-06-28 13:35:56 +08:00
    看了下正文)微服务上不上 k8s 并没啥关系。直接一个服务一个 vm 我也见过,不上 k8s 好处就是没学习成本,坏处就是资源浪费。至于运维 cicd 弄好了都一样
    LanLiang
        14
    LanLiang  
       2024-06-28 15:15:54 +08:00
    springcloud 和 service mesh 并不是替代的关系,架构是会演进的,springcloud 仍然适合大多数中小企业
    coyove
        15
    coyove  
       2024-06-28 15:29:50 +08:00
    冷知识,蚂蚁 sofa ,字节 kitex ,但内部的核心应用都是巨型单体(编译产物几个 g ,分钟级启动时间)
    所以如果你是一个人,建议一把梭
    zzhaolei
        16
    zzhaolei  
       2024-06-28 15:40:28 +08:00
    微服务架构并不适合中小企业。推荐用 gin ,负载均衡。(面向简历编程,当我没说。)
    whrss9527
        17
    whrss9527  
       2024-06-28 18:11:48 +08:00
    @jaylee4869 作为配置管理也算吧
    DefoliationM
        18
    DefoliationM  
       2024-06-28 18:36:55 +08:00 via Android
    grpc+etcd ?不推荐 go-zero ,bug 多,难维护。其他的没用过。
    maocat
        19
    maocat  
       2024-06-28 20:17:05 +08:00 via iPhone
    大道归一,单体项目,前后端不分离
    maigebaoer
        20
    maigebaoer  
       2024-06-28 20:21:52 +08:00 via Android
    首先问,不用微服务行不行?行?那用它干嘛呢。
    morebuff
        21
    morebuff  
       2024-06-28 22:35:31 +08:00
    单体 YYDS
    timothyye
        22
    timothyye  
       2024-06-28 23:47:46 +08:00
    @wenyuhe #13 不用容器编排好像不太方便快速伸缩服务
    byehair
        23
    byehair  
       2024-06-29 00:53:00 +08:00
    @coyove 如果我没理解错,你说的是这个是大仓模式,但其实,只是项目代码是一个单体,编译是一个单体,但服务是可以按需启动的。
    腾讯内部很多项目也是采用大仓模式
    bzj
        24
    bzj  
       2024-06-29 01:34:37 +08:00
    grpc+consul ,说 k8s 的都是运维吧
    kkk9
        25
    kkk9  
       2024-06-29 02:42:51 +08:00
    99%的公司不需要 k8s
    R4rvZ6agNVWr56V0
        26
    R4rvZ6agNVWr56V0  
       2024-06-29 05:32:31 +08:00
    Dapr
    jackge0323
        27
    jackge0323  
       2024-06-29 06:29:56 +08:00
    不用框架,需要什么自己简单封装一个就可以了。
    Int100
        28
    Int100  
       2024-06-29 06:31:32 +08:00
    用微服务平台,还是 k8s ,取决于公司/项目组的运维能力以及架构考量。

    上个月碰到的一个西门子的项目组,就是 all-in AWS ,完全不搞 k8s ,但也说了内部有其他部门选择维护自己 k8s 集群。
    Cola98
        29
    Cola98  
       2024-06-29 08:33:47 +08:00
    grpc+k8s
    homewORK
        30
    homewORK  
       2024-06-29 10:35:58 +08:00
    @DefoliationM 能细说一下吗? 因为个人项目刚开始用 go-zero 。go-zero 目前只是感觉有点臃肿。
    DefoliationM
        31
    DefoliationM  
       2024-06-29 10:55:14 +08:00 via Android   1
    @homewORK struct 不支持 time.Time ,自带的(生成的代码) json unmarshal 有严重 bug ,某些情况会没有值。生成的代码又乱又多,前期代码少的时候还好,后面多了没法维护。还有其他很多问题已经不记得了。
    后面就是发现什么的问题,就把它自带的组件换成自己写的。所以还不如一开始就自己把所有东西弄好,不用这玩意。
    DefoliationM
        32
    DefoliationM  
       2024-06-29 11:02:46 +08:00 via Android   1
    @DefoliationM 而且这东西更像 Java 搞得那一套,什么东西都搞得又臭又长,真的一言难尽。
    tangqiu0205
        33
    tangqiu0205  
       2024-06-30 17:32:00 +08:00   1
    kratos + k8s, 目前这套用的很爽.
    dayeye2006199
        34
    dayeye2006199  
       2024-07-01 05:38:54 +08:00   1
    微服务和 go 也没啥关系。

    就是拿 go 写个服务,然后外面整个 k8s 把几个服务穿起来。

    grpc + protobuf 随便撸啊
    changz
        35
    changz  
       2024-07-01 13:29:13 +08:00 via Android
    kratos 二开
    wenyuhe
        36
    wenyuhe  
       2024-07-01 16:54:24 +08:00
    @timothyye iac 编排也可以,其实小公司 k8s 不一定是最优解可能会是最差解;甚至伸缩也不一定是需要。至于微服务的话,我觉得刚开始最好别怎么拆。前期拆两个(用户中心+主业务)就是够了,然后生成 http 接口直接给前端。
    konakona
        37
    konakona  
       2024-07-04 12:48:28 +08:00
    1. go zero 中文友好
    2. kubernetes 或 TKE
    3. +CI/CD+helm
    qloog
        38
    qloog  
       2024-07-04 23:08:47 +08:00
    eagle + docker image + k8s
    protobuf -> http + gRPC(服务间)
    大部分 脚手架直接生成

    PS: https://github.com/go-eagle/eagle
    securityCoding
        39
    securityCoding  
       2024-07-08 19:30:30 +08:00
    trpc+k8s
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1536 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 16:33 PVG 00:33 LAX 08:33 JFK 11:33
    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