技术大牛们来解答一下小白的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaolong620
V2EX    Java

技术大牛们来解答一下小白的问题

  •  
  •   xiaolong620 2019-08-03 08:46:46 +08:00 5471 次点击
    这是一个创建于 2263 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天面试被问到 activemq 挂掉或者 redis 挂掉怎么实现消息同步? 我说的做集群,他说集群也会有死掉情况怎么实现消息同步,刚毕业不是很懂求大神们,帮我写个详细的说明,或者帮忙推荐一些能学这个资料什么的也行,谢谢了!

    22 条回复    2019-08-16 16:11:09 +08:00
    tnstar
        1
    tnstar  
       2019-08-03 08:58:10 +08:00 via Android
    加锁?
    karottc
        2
    karottc  
       2019-08-03 09:02:50 +08:00
    如果刚开始设计就是用消息队列做同步,那么消息队列的整个集群都挂了,肯定没法同步了。 这个问题要从一开始设计上就解决。 就像面试问你,支付宝所有集群服务都挂了,怎么保证正常使用支付宝,肯定就不行三。如果行,支付宝当年就不会持续挂了 6 小时,异地多活变成了笑话
    metrxqin
        3
    metrxqin  
       2019-08-03 10:54:09 +08:00 via Android
    我觉得这个是架构问题,因为涉及到高可用,太为难毕业生了。
    xiaolong620
        4
    xiaolong620  
    OP
       2019-08-03 11:14:20 +08:00
    @metrxqin 这不包装了一下吗,要不都没有面试的。。。
    reus
        5
    reus  
       2019-08-03 14:02:07 +08:00
    如果上游挂掉还能正常工作,那还要这个上游服务干嘛?难道不是多余的部件?

    你这个问题,有点莫名其妙
    jimrok
        6
    jimrok  
       2019-08-03 14:13:14 +08:00
    只能切换到备份的中心去做消息同步,例如客户端有两个以上的服务列表,a 挂了,去连接 b。答不出来也没关系,又不是比大家的知识,关键是要逻辑清楚,面试官考察刚毕业的应届生,主要还是看你的逻辑思维是不是有条理,是否有上进心,是否有兴趣在技术上,毕业生未来几年都是学习和补充知识的过程。
    xiaolong620
        7
    xiaolong620  
    OP
       2019-08-03 14:39:09 +08:00
    @jimrok 好的,谢谢
    Aresxue
        8
    Aresxue  
       2019-08-03 15:38:22 +08:00
    正常就集群、主备、主从。没明白集群也会死掉消息怎么同步是个什么意思,可能面试官也是个半吊子。。。如果是机器都挂了,神也啥都干不了,如果是问的如何恢复,可以从系统和应用的自动重启,以及数据的持久化方面答,好比 redis 的 RDB 和 AOF
    mamahaha
        9
    mamahaha  
       2019-08-03 18:19:43 +08:00
    提这个问题就是想压价,你愿意留下就把需求工资降一降就行了。
    iPhoneXI
        10
    iPhoneXI  
       2019-08-03 18:34:22 +08:00 via Android
    Redis 高可用机制有集群和哨兵吧,监控主从节点,自动失败转移,
    集群怪掉了,我也只能想到楼上说的备份的中心了,
    事前做好持久化,监控,事后做好恢复
    laminux29
        11
    laminux29  
       2019-08-03 19:00:07 +08:00
    activemq 挂掉怎么实现消息同步?加 Kafka。

    redis 挂掉怎么实现消息同步?加 MongoDB。

    集群挂掉怎么实现消息同步?这情况还真有,比如集群在一个机房里,然后整个机房断点导致集群全挂掉。那么对于这种情况,就给集群做集群,也就是多集群。比如异地多集群,全球多集群,甚至在月球上搞个机房来防止地球被炸后的数据安全。
    lihongjie0209
        12
    lihongjie0209  
       2019-08-03 19:03:31 +08:00
    怎么不说地球毁灭之后怎么实现消息同步?
    JinyAa
        13
    JinyAa  
       2019-08-03 19:14:04 +08:00
    上次跳槽也被问过这种,最后问我有什么想问他的,我说你们生产上用很多集群吗?答曰:没有。
    nthhdy
        14
    nthhdy  
       2019-08-03 20:24:49 +08:00
    都挂了还同步什么。。
    我怎么觉得他是想问挂了以后怎么恢复?
    Takamine
        15
    Takamine  
       2019-08-03 21:09:53 +08:00 via Android
    可能他想说的是集群单节点挂掉,哨兵,心跳检测什么的吧。
    要不就是他们公司完全实现了 CAP。:doge:
    ycs2019
        16
    ycs2019  
       2019-08-03 22:24:52 +08:00
    都挂了就是挂了,然后上人去处理,除非用其他兜底。
    polebug
        17
    polebug  
       2019-08-04 00:34:55 +08:00 via Android
    秋招 我也被问到 redis 挂掉怎么办 我猜他们是想问 redis 持久化
    xuanbg
        18
    xuanbg  
       2019-08-04 07:30:29 +08:00
    集群都挂掉了,当然就不行了,只能等恢复了。。。

    这个时候就需要有补偿机制了,让故障期间产生的数据能够在恢复后发送过去。
    zealot0630
        19
    zealot0630  
       2019-08-04 12:19:38 +08:00 via Android
    向应届生面工程实践问题的公司,不去也罢
    zealot0630
        20
    zealot0630  
       2019-08-04 12:25:39 +08:00 via Android
    mq 是 cp 的系统,就是抛弃了 a。什么是 a ?就是节点挂了就没有 a 了,要等待节点重新起来才能继续服务。如果做集群多读多写,就要一定程度抛弃 c 或者 p,这就是上层框架如何设计,架构师要考虑的问题了。
    lavvrence
        21
    lavvrence  
       2019-08-05 14:36:12 +08:00
    实现消息同步? 没明白问的啥。中间件高可用吗?
    cmonkey
        22
    cmonkey  
       2019-08-16 16:11:09 +08:00
    看起来是时候加机器了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     976 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:34 PVG 06:34 LAX 15:34 JFK 18:34
    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