V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
huisezhiwei
V2EX  ›  程序员

如何部署“双机房双活”系统?

  •  
  •   huisezhiwei · 2020-08-04 11:19:19 +08:00 · 4901 次点击
    这是一个创建于 1606 天前的主题,其中的信息可能已经有所发展或是发生改变。

    甲方招标需求中,要求系统部署支持“双机房双活”,本人没有相关的经验。希望有大神能够介绍一二。

    补充背景:

    1. 甲方是金融行业龙头企业,硬件资源投入意愿高,但对安全性要求也高。
    2. 系统本身支持集群部署,依赖 zk 、redis 、kafka 等常规分布式中间件。
    3. 系统本身由多种类型的节点组成,部分节点需要与外网通信
    28 条回复    2022-06-08 11:56:39 +08:00
    opengps
        1
    opengps  
       2020-08-04 11:24:57 +08:00   ❤️ 1
    这类问题细节极多,实现过程极繁杂,怕是很少有人能回复全面
    triptipstop
        2
    triptipstop  
       2020-08-04 11:42:07 +08:00
    数据库能多机房同步就行了,web 本来就是负载均衡,缓存若是不能重建就是设计有问题。
    kccbc
        3
    kccbc  
       2020-08-04 11:46:04 +08:00
    大致几点:
    1 、双机房存储需要实时同步,要区分 SAN 存储和 IP 存储
    2 、机房网络入口路由做双活 HA
    3 、应用和应用配置双机房实时同步
    GM
        4
    GM  
       2020-08-04 11:51:26 +08:00   ❤️ 1
    这问题很大,详细回答恐怕价值好几万,大概是没人能答得上来的。
    cgh
        5
    cgh  
       2020-08-04 11:53:49 +08:00   ❤️ 1
    去微博问一下胡忠想吧
    v2orz
        6
    v2orz  
       2020-08-04 11:55:18 +08:00
    数据双活了,其他的都好说
    realpg
        7
    realpg  
       2020-08-04 11:57:08 +08:00   ❤️ 2
    10G/40G 裸光纤怼上 跟局域网没区别……

    两地三中心都日常操作
    realpg
        8
    realpg  
       2020-08-04 11:58:14 +08:00
    如果需要相关设计,可以联系,专业搞这方面的。
    meeop
        9
    meeop  
       2020-08-04 12:00:19 +08:00
    双机房之间需要拉至少 2 条专线连接网络
    然后就和一般多活没区别,所有服务都要是分布式的,至少每个机房部署 1 个实例
    平时负载均衡访问,某机房 /服务崩溃的话,自动切换该机房流量到其他机房
    数据的话,需要一个机房作为主,另一个机房部署从,并通过专线自动同步,需要时随时切换

    具体实现很复杂,得请大佬
    cs419
        10
    cs419  
       2020-08-04 12:26:29 +08:00
    双活的话
    如果二者间网络出问题 不会脑裂吗
    iConnect
        11
    iConnect  
       2020-08-04 12:31:14 +08:00 via Android
    异地双活的设计,功力不深厚,不要轻易搞。数据同步、延迟校验能把一个项目拖死。
    realpg
        12
    realpg  
       2020-08-04 12:42:53 +08:00
    @iConnect #11
    没那么复杂
    他的连 IPSAN 都有 必然是大带宽的 这种最好干了 无论设计还是施工都好干 当然 在不专业的眼里会很复杂
    实际上我们这种项目做了太多了

    有只给你一块土地,连挖沟下管强电弱电盖楼建设数据中心机房装修网络规划搭建实施还要运维都要的
    也有只要你给提供个框架的,而且成本根本不高哪去。
    freelancher
        13
    freelancher  
       2020-08-04 13:04:42 +08:00
    这个东西已经是比较深入领域的了。

    得花钱请人来做。想自己实现。基本不太可能。细节太多了。普通的工程师根本搞不过来。
    whileFalse
        14
    whileFalse  
       2020-08-04 13:05:01 +08:00
    @cs419 手动切换主从即可。
    freelancher
        15
    freelancher  
       2020-08-04 13:06:47 +08:00
    思路和方法其实都有现成的。只是这个东西很值钱。网上基本上没人会写出来。
    liangch
        16
    liangch  
       2020-08-04 13:59:39 +08:00
    微信联系讨论 MTM5MTA4Mjg5NTE=
    tankren
        17
    tankren  
       2020-08-04 14:05:09 +08:00
    @opengps #1 能回复全的楼主就该给工资了
    fdingiit
        18
    fdingiit  
       2020-08-04 14:08:28 +08:00
    来 sofastack
    holinhot
        19
    holinhot  
       2020-08-04 14:16:04 +08:00
    拉几条裸光纤不就好了。同城延迟可忽略。北京上海这样估计就延迟大了
    hun2008hun
        20
    hun2008hun  
       2020-08-04 14:18:11 +08:00
    建议分拆需求细节
    1 、同城 or 异地
    2 、双活是单写多读还是多写,这下面又可以继续细分
    3 、存储层面可以调研下 TiDB
    4 、缓存设计为弱依赖
    其他待补充
    etmad
        21
    etmad  
       2020-08-04 14:45:22 +08:00
    不差钱就 EMC vmax + vmware vmsc
    flowercoder
        22
    flowercoder  
       2020-08-04 15:40:17 +08:00
    zk 是 zookeeper 对吧,我记得可以我们千年也想上过,还一个是 roseha,这两款软件都可以去万能的马爸爸咨询,个人觉得都是有钱就能解决的,不是难事,搜软件名就行
    8bit
        23
    8bit  
       2020-08-04 15:59:59 +08:00
    找商业虚拟化平台,vmware 或者国内的虚拟化平台,虚拟化平台基础上操作系统级双活以及软件中间件上的双活。开源的出了事没人能快速处理,担责任的。
    weizhen199
        24
    weizhen199  
       2020-08-04 16:46:50 +08:00
    都金融龙头了,这个感觉是不是直接花钱 IOE 比较好
    mytsing520
        25
    mytsing520  
       2020-08-04 22:25:55 +08:00
    能回答这个问题的几乎都是架构师级别
    xinhaiw
        26
    xinhaiw  
       2020-08-05 01:14:01 +08:00 via iPhone
    说白了就是 multihoming 和 HA 。对于懂网络的这个不难。
    lance6716
        27
    lance6716  
       2020-08-08 13:28:22 +08:00
    TiDB 有两地三中心部署文档 https://docs.pingcap.com/zh/tidb/stable/three-data-centers-in-two-cities-deployment

    案例 https://zhuanlan.zhihu.com/p/62766069

    如果有成为客户的意愿可以联系官网
    bingoup886
        28
    bingoup886  
       2022-06-08 11:56:39 +08:00
    双活好实现,问题在于数据同步和延迟。不过有个思路是在路由层保证用户读取数据的请求走与之前写数据时相同的机房,这样可以解决延时敏感的问题,数据的同步保证最终一致即可。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1108 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.