go-micro 生产环境怎么使用的?服务升级是否需要停服? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
kaxi
V2EX    Go 编程语言

go-micro 生产环境怎么使用的?服务升级是否需要停服?

  •  
  •   kaxi 2018-10-22 17:36:59 +08:00 5105 次点击
    这是一个创建于 2549 天前的主题,其中的信息可能已经有所发展或是发生改变。

    go-micro 生产环境怎么使用的?服务升级是否需要停服? 还有如果当流量增大的时候,需要增加服务器,又是怎么部署的,一般生产环境是不是 go-micro 独立部署在一台服务器上?如果需要搭建集群又是怎么实现的?

    第 1 条附言    2018-10-22 19:32:26 +08:00
    我现在有点懵的是,go-micro(Dubbo)作为微服务治理框架,管理着各种各样的微服务应用,维护着服务发现,负载均衡,健康检查等等。目的是将应用解耦,并且提高系统可靠性,可是 go-micro(Dubbo)在这个过程中其实也就形成了控制中枢,如果自身一旦挂掉岂不是形成单点故障了?那么为了避免单点故障采用集群部署,那么谁又来管理他的集群状态呢???

    哪位大佬跪求解答啊!万分感激
    7 条回复    2019-06-14 11:19:28 +08:00
    misaka19000
        1
    misaka19000  
       2018-10-22 19:36:31 +08:00 via Android
    keepalived
    heww
        2
    heww  
       2018-10-22 21:09:13 +08:00   1
    client 有重试机制的话,不需要停止服务,每个 srv 部署多份就可以了。

    go-micro 只是一套 lib,每个 srv,api 运行自己的代码逻辑。它们向 registry 中注册自己的信息,client 根据名称从 registry (默认是 consul) 中获取 srv 的地址 ( ip:port )然后发送 http 请求 (这个看具体选择的 transport )。

    有单点故障的是 consul 这种 registry,但 consul 可以部署集群。
    heww
        3
    heww  
       2018-10-22 21:14:40 +08:00   1
    我们在好几个项目中使用过了 go-micro,用起来还算顺手。

    用 protobuf 做数据编码的话,注意 zero 值在 Marshal 到 model 时是会被 ignore 的,这个时候需要使用 FieldMask。
    kaxi
        4
    kaxi  
    OP
       2018-10-22 23:33:39 +08:00
    @heww 请问一下如果部署了多份 srv client 和 srv 的代码应该是怎么样子的? GitHub 上有没有类似的开源项目,我去学习学习
    janxin
        5
    janxin  
       2018-10-23 09:55:37 +08:00
    go-micro 是 golang 的那个 lib 吗?那个服务状态由服务发服务管理的呀?是不是理解出现了偏差?
    looplj
        6
    looplj  
       2018-10-23 11:07:44 +08:00
    你应该去了解一下什么叫注册中心。
    无状态的服务,扩容的时候,直接起新服务器就可以了,会自动注册到注册中心,然后 consumer 的负载均衡就会发现新的服务实例。
    服务升级,如果接口没有 breaking change 也不用停服,一是启动快,二是是服务调用都有重试功能,这个实例不行换下一个实例。
    thomaswang
        7
    thomaswang  
       2019-06-14 11:19:28 +08:00
    @heww 如何部署 srv 的代码,是启动新的 srv, 自动注册到 consul, 那如何停止老的 srv 呢, 老的正在提供服务, 那不是要终端了吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     933 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:08 PVG 04:08 LAX 13:08 JFK 16:08
    Do have faith in what you're doing.
    ubao 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