• 异地多活架构的3种模式


    业务定制型异地多活

    按照业务的优先级进行排序,优先保证核心业务异地多活

    基于核心业务的流程和数据,设计定制化的异地多活架构

    在这里插入图片描述

    优点

    对基础设施无强要求,例如机房部署、存储系统、时延等,一般部署在远距离的两个城市,可以支持区域级别故障处理

    缺点

    1. 不通用,每个业务都需要单独来做异地多活,业务需要改造
    2. 难扩展,核心业务如果有重大变化,异地多活方案要重新设计

    业务通用型异地多活

    通过配套服务来支持异地多活,无需按照业务优先级排序来挑选某些业务实现异地多活,只需要判断业务是否能异地多活

    在这里插入图片描述

    优点

    1. 对硬件基础设施无强要求,例如机房部署、存储系统、时延等,一般部署在远距离的两个城市,可以支持区域级别故障处理
    2. 业务基本不用改造,只需判断业务是否支持 BASE,支持就可以异地多活,不支持就单点部署

    缺点

    1. 配套服务复杂,包括流量调度、容灾切换、建站平台、配置管理等
    2. 存在全局单点业务,例如库存、卖家等相关业务
    3. 机房距离较远的时候,RTO 比较大,可能达到分钟级

    存储通用型异地多活

    采用本身已经支持分布式一致性的存储系统,架构天然支持异地多活

    在这里插入图片描述

    优点

    架构天然就支持异地多活,业务除了切换存储系统外,其它基本不用改造

    缺点

    1. 需要分布式一致性的存储系统支持,目前这样的存储系统可选不多,例如 ZooKeeper、etcd、OceanBase
    2. 对机房部署有强要求,如果要实现异地多活,只能采用近邻部署

    异地多活架构模式对比

    应对机房级别灾难应对城市级别灾难应对区域级别灾难是否通用配套服务硬件成本应用建议
    业务定制型低,只需要很少配套服务低,无特别要求中小公司
    中小业务
    业务通用型高,强大的配套服务低,无特别要求大公司,业务无强一致性,例如视频、资讯、微博、社交类业务
    存储通用型否,要求近邻部署低,只需要很少配套服务高,对机房数量和时延有强要求大公司,业务有强一致性要求,例如交易、支付、金融类业务
  • 相关阅读:
    APM电机输出逻辑之二
    electron安装报错:Electron failed to install correctly...解决方案
    C++标注模板库(STL)-deque介绍
    I2C相关实验2
    Linux中navicat连接windows服务端
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    React面试题总结(二)
    这款开源神器,让聚类算法从此变得简单易用
    Pycharm 专业版与社区版的区别
    MySQL之SQL语句(一)
  • 原文地址:https://blog.csdn.net/lee_nacl/article/details/127946777