首页 > 其他分享 >一文搞懂IDC灾备方案

一文搞懂IDC灾备方案

时间:2024-03-08 19:44:39浏览次数:26  
标签:同城 双活 机房 异地 多活 搞懂 IDC 两地 灾备

很多企业都会面高并发业务和临海量数据的挑战,当机房发生断电、火灾、地震等情况,所有服务器面临业务整体瘫痪的风险。

银行、金融企业,为了避免用户损失,需要一种可以基于同城或异地的多个不同机房之间的多活机制,最大程度降低由于机房的仅单点可用所导致的潜在风险。

 

这里的“活”是指实时的业务服务,多活的组网方式使得不同地理位置上的系统都能够提供业务服务。常见的多活方案有同城双活、异地多活和两地三中心等。

同城双活

同城双活是指在同一座城市内建立两个机房,双机房由于通讯距离比较近,比较容易实现数据的同步复制,保证高度的数据完整性和防止数据失真。同城两个机房各承担一部分流量,相当于两个机房部署了两个独立集群。

同城双活

这里需要注意的是:在同城双活的两个资源池中,一般会单点写到主机房数据库,然后将单点信息实时同步到另外一个机房。确保用户用A机房登录后,可以无需登录的情况下直接访问B机房的业务应用。

优点

① 服务同城双活,数据同城灾备。

② 不丢失数据情况下跨机房级别容灾。

③ 相比异地多活的方案,同城双活的组网架构简单。

④ 由于双机房距离近,通信质量好,底层储存例如mysql可以采用同步复制,有效保证双机房数据一致性。

缺点

① 在复杂业务以及链路下频繁跨机房调用api进行数据的同步,会增加响应时间,影响系统性能和用户体验。

② 保证同城市地区容灾,当服务所在的城市或者地区网络整体故障、发生不可抗拒的自然灾害时候有服务故障以及丢失数据风险。

③ 如果服务规模非常庞大,(比如:单体应用超过万台服务器),所有机器连接一个主数据库实例会引起连接不足的问题。

 

异地多活

异地多活是指在多个地市分布不同的站点,同时提供业务服务。异地多活不仅是灾备的一种方案,也是高可用的架构方案。

异地多活承担了更多的分布式计算的功能,多个地区部署服务站点,通过DNS服务器进行任务的下发、负载均衡等。单点信息共享,重要的存储信息共享。当一个集群出现故障,另外站点会及时接替它提供数据和服务。

异地多活

优点

① 一般部署在远距离的两个城市,可以支持区域级别故障处理

② 支持就可以异地多活,不支持就单点部署

缺点

① 配套服务复杂,包括流量调度、容灾切换、建站平台、配置管理等

② 机房距离较远的时候,网络重传RTO 比较大

 

两地三中心

“两地”是指同城、异地,“三中心”是指一个地区的生产中心、同城容灾中心和异地容灾中心

两座城市的三个数据中心互联互通,一个数据中心发生故障或灾难,其他数据中心可以正常运行并对关键业务或全部业务实现接管。

我们以建设银行的北京主中心、上海一期和二期数据中心的灾备架构模式为例。上海有两个IDC,分别为IDC1和IDC2,异地在北京为IDC3。需要注意的话,为了建设两地之间的传输时延,尤其是重要的行业,会在两地之间拉ISP专线。

两地三中心

优点

① 同城的两个IDC传输时延低,数据写入速度更优。

② 两中心可同时对外提供服务,资源利用率更高。

③ 可保证任一数据中心失效后,服务可用并且不发生数据丢失。

缺点

① 两地之间若使用到了ISP网络专线,会导致整个组网从成本上来看,非常昂贵。

② 两地三中心需设置 5 副本,数据冗余度增加,增加空间成本。

 

总结

以上是关于同城双活、异地多活和两地三中心组网方案在容灾方面的应用。其实异地多活也分为多种类型,篇幅有限,只做简要介绍。

标签:同城,双活,机房,异地,多活,搞懂,IDC,两地,灾备
From: https://www.cnblogs.com/IT-Evan/p/18052920

相关文章

  • 记录一次WPF命令参数报错,InvalidCastException: T for DelegateCommand<T> is not an
    在使用WPF的时候对int或者bool类型进行绑定出现InvalidCastException:TforDelegateCommandisnotanobjectnorNullable.<ButtonWidth="200"Height="30"Content="按钮"Command="{BindingOpenCommand}"CommandParameter="{Binding......
  • 多线程系列(十四) -一文带你搞懂线程池技术
    一、前言虽然Java对线程的创建、中断、等待、通知、销毁、同步等功能提供了很多的支持,但是从操作系统角度来说,频繁的创建线程和销毁线程,其实是需要大量的时间和资源的。例如,当有多个任务同时需要处理的时候,一个任务对应一个线程来执行,以此来提升任务的执行效率,模型图如下:如......
  • Windows使用SIDCHG64 修改SID
    1、网站下载工具:https://www.stratesave.com/html/sidchg.html2、执行命令:sidchg64-3.0j.exe/KEY="************"/F/R注意:(1)sidchg有2个版本,标准版sidchg64和轻量版sidchgl64轻量版无需关闭defender实时防护,但是sid改得不彻底标准版执行之前需要关闭defender实时......
  • 多线程系列(十三) -一文带你搞懂阻塞队列
    一、摘要在之前的文章中,我们介绍了生产者和消费者模型的最基本实现思路,相信大家对它已经有一个初步的认识。在Java的并发包里面还有一个非常重要的接口:BlockingQueue。BlockingQueue是一个阻塞队列,更为准确的解释是:BlockingQueue是一个基于阻塞机制实现的线程安全的队列。通......
  • JAVA面向对象基础:入门,搞懂对象
     packagecom.itheima.duyixiang;importjava.util.ArrayList;importjava.util.List;publicclassTest{publicstaticvoidmain(String[]args){Students1=newStudent();s1.name="凯文";s1.yuwen=22;s1.shuxu......
  • 一文搞懂 Go 1.21 的日志标准库 - slog
    一文搞懂Go1.21的日志标准库-slog原创 rubys_ awk 2024-01-3120:20 广东 1人听过在过去多年里,我们在Go中写日志的时候,通常都是使用 Zerolog 或者 Zap 这两个包。在本文中,我们将重点探讨Go最近引入的 log/slog 包,该包旨在将高性能、结构化和分级日志......
  • 一张图搞懂微服务架构设计
    前言当前,微服务架构在很多公司都已经落地实施了,下面用一张图简要概述下微服务架构设计中常用组件。不能说已经使用微服务好几年了,结果对微服务架构没有一个整体的认知,一个只懂搬砖的程序员不是一个好码农。流量入口Nginx在上图中可以看到,Nginx作为整个架构的流量入口,可以理解......
  • 一文搞懂Raid是什么?nas如何组建适合自己的阵列?
    在使用NAS的过程中我们少不了纠结是否组建阵列组建何种阵列 今天小马就来和大家聊一聊什么是RAID我们又该组建何种阵列  RAID是什么RAID,冗余磁盘阵列,是为了提高数据存储的性能和可靠性而开发的技术。简单来说就是把相同的数据存储在多个磁盘的不同的地方的方法。......
  • 一文搞懂Flink Window机制 Windows和 Function 和 Process组合处理事件
    一文搞懂FlinkWindow机制和Function和Process组合处理事件Windows是处理无线数据流的核心,它将流分割成有限大小的桶(buckets),并在其上执行各种计算。Windows是处理无线数据流的核心,它将流分割成有限大小的桶(buckets),并在其上执行各种计算。窗口化的Flink程......
  • orchard core 开启openid 使用uniapp结合oidc-client 作为客户端连接
    官方的项目地址:https://github.com/onestar1/OrchardSkills.OrchardCore.OIDC.Vue.js/tree/main/OrchardSkills.OrchardCore.MaterialDesignTheme操作步骤:单独clonehttps://github.com/OrchardSkills/OrchardSkills.OrchardCore.MaterialDesignTheme1、打开Recipes目录下......