求教关于多集群下微服务的调用问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
shazhouyouren
V2EX    程序员

求教关于多集群下微服务的调用问题

  •  
  •   shazhouyouren 2019-06-25 15:55:17 +08:00 2290 次点击
    这是一个创建于 2308 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问一下大厂的大神,对于有多个集群的微服务系统,是否要支持跨集群的服务调用。

    即,如果有两个集群 c1,c2.现在两个服务 s1,s2.是 s1 要调用 s2.

    主流的配置,是否支持 c1 集群的 s1 服务调用 c2 集群的 s2 服务。

    我个人的理解是,不同的集群可能物理距离很远,跨集群的调用响应时间不是很好。

    一般情况,应该是优先在同一集群内调用。但如果某个服务在一个集群下出现问题,全都不可用,应该也是要支持能跨集群的调用的。

    不知道像阿里的异地多活方案里,究竟是怎么对服务路由做配置的

    9 条回复    2019-06-26 14:13:36 +08:00
    wym7223645
        1
    wym7223645  
       2019-06-25 17:17:18 +08:00
    我们现在有 A、B 两集群, s1 服务在 A 集群 s2 服务在 B 集群, A 集群在北京,B 集群在西安,s1 调用 s2 生产环境的确有延迟(经过比较与本地比多了 300 毫秒左右的延迟),但是在可接受范围之内,用户基本无感知,所以就先这么用着了
    shazhouyouren
        2
    shazhouyouren  
    OP
       2019-06-25 17:23:59 +08:00
    @wym7223645 额。。那为啥两个服务要部署在不同集群呢?是怎么个考虑?
    whp1473
        3
    whp1473  
       2019-06-25 19:18:05 +08:00
    同城容灾、异地多活,一般同城 A1、A2 在物理是两个机房,我们称为集群 A,该集群例如在北京,它服务于周边省份。而异地多活,就是城市 B 有一个集群,下面有两个物理机房 B1、B2。用户访问时可以通过手动选择区域的方式切换,也可以通过其 ip、响应自动选择机房。A、B 两地的通用数据通过同步服务保证,只保证最终一致性,也就是在未来的某一刻一定会同步。

    异地集群互通,那服务完全没法用,少还可以,服务间调用关系复杂,超时是无法接受的。
    whp1473
        4
    whp1473  
       2019-06-25 19:25:28 +08:00   1
    至于如果跨域两个服务器区域怎么办,一般数据同步速度都比较快,而人在上海节点-北京节点之间物理移动的速度远远小于数据同步的速度,所以基本是无感的。
    这样的好处还有,物理光缆问题不影响本地服务,本地访问速度也大大提高,毕竟机房就在你附近。同时也可以全球搭建机房,服务出现问题只会在某个片区,比如阿里云出问题,一般也是一部分服务不可用,一部分区域,就是这个原因。
    mooncakejs
        5
    mooncakejs  
       2019-06-25 19:28:09 +08:00
    北京西安 300 的延迟也有点夸张了,是带宽的问题吗?
    wenjian881314
        6
    wenjian881314  
       2019-06-25 21:00:47 +08:00
    一般不会有异地集群间的调用,求在前端最开始的时候就会路由到指定集群
    wym7223645
        7
    wym7223645  
       2019-06-26 10:44:52 +08:00
    @mooncakejs 带宽据说是千兆的,甲方说是 有很多防火墙 拦截器之类的检查,导致返回的比较慢
    wym7223645
        8
    wym7223645  
       2019-06-26 10:51:39 +08:00
    @shazhouyouren s1 服务在 A 集群 s2 服务在 B 集群, 基于业务的,A 集群主要是为了 S1 服务, B 集群主要是为了 S2 服务, 但是 S2 在 A 集群里面也是有的, 平时主要调用 B 集群的 S2,当 B 集群出现问题的时候切换至 A 集群的 S2, 两个集群的硬件配置有差异, 你可以理解为 A 集群是内存密集型的服务 B 集群是 CPU 密集型的服务。 算是伪异地集群
    shazhouyouren
        9
    shazhouyouren  
    OP
       2019-06-26 14:13:36 +08:00
    @wym7223645
    @whp1473
    感谢。大概明白了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2651 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:50 PVG 22:50 LAX 07:50 JFK 10:50
    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