首页 > 其他分享 >“两地三中心”架构学习

“两地三中心”架构学习

时间:2023-06-25 20:56:47浏览次数:42  
标签:架构 中心 同城 学习 复制 异地 机房 两地 灾备

why:

  任何一个互联网系统,不论是淘宝,还是Google、Facebook,当发展到一定规模时,都会不可避免的触及到单点瓶颈。这里所说的“单点”,在系统的不同发展阶段表现不同。如下图:

 

  在系统发展初期,服务器和应用单点最先成为瓶颈,解决的方法也很简单,加机器、拆应用;紧接着的数据库单点,解决起来就开始不那么容易了,典型的做法是先垂直拆分,再水平拆分,在这过程中要解决多数据源、数据sharding、透明访问等问题。

  当应用越来越多、加的机器越来越多、数据库越来越多,单个机房的容量开始捉襟见肘,装不下这么多服务器。我们选择水平扩展的模式,再建一个新机房,形成双机房架构。到这里好像单点问题都解决了,再有容量问题,我们继续建第三个、第四个机房等等。实际上,我们马上碰到了问题:
    1. 双机房架构下,两个机房都是连到同一套DB,DB连接不够用了
    2. 第三个、第四个机房建在哪里(地域)?如果建在异地,异地的DB访问耗时就不可忽略。如果所有机房都建在一个地域,将无法应对地震等自然灾害影响。

 

what:

  IDC:全称Internet Data Center,即互联网数据中心。
  LDC:全称Logical Data Center,即逻辑数据中心。

  两地指的是两个城市;

  三中心指的是3个IDC;

  两地三中心:在同城部署2个IDC, 在另外一个城市再部署1个IDC;

    1.同城IDC——数据同步复制(一般通过存储阵列进行同步镜像方式来同步复制)
    2.异地IDC——数据异步复制

    IDC3只是一个冷备,平常不处理用户请求,因为IDC1到IDC3是异步复制,存在着比较高的时延。如下图:

  RPO全称recovery point objective,数据恢复的衡量指标,即能够容忍的数据丢失量。RPO=0,指的是已提交的数据都不会被丢失; 

 

  同城双中心是指在同城或邻近城市建立两个可独立承担关键系统运行的数据中心,双中心具备基本等同的业务处理能力并通过高速链路实时同步数据,日常情况下可同时分担业务及管理系统的运行,并可切换运行;灾难情况下可在基本不丢失数据的情况下进行灾备应急切换,保持业务连续运行。

    与异地灾备模式相比较,同城双中心具有投资成本低、建设速度快、运维管理相对简单、可靠性更高等优点。

 

  异地灾备中心是指在异地的城市建立一个备份的灾备中心,用于双中心的数据备份,当双中心出现自然灾害等原因而发生故障时,异地灾备中心可以用备份数据进行业务的恢复。

 

how:

  两地三中心可提升业务系统的抵御灾难的能力,借用一句话“同城保生产,异地保生存”,如果发生机房或者楼宇级别的灾难,那同城可以保证生产系统在最短时间内恢复业务系统,而异地灾备是保证发生区域性灾难时,生产的关键业务数据不丢失,通过重建生产系统仍然能够保证生产系统恢复到灾难发生之前的业务水平。

 

  数据备份:

    同城双中心的数据采用同步复制,在同城灾备中心建立一个在线更新的数据副本。当有数据下发到生产中心阵列时,阵列间的同步复制都会同时将数据复制一份到同城灾备中心。

    同城灾备中心与异地灾备中心之间采用异步复制方式,定期将数据进行复制备份,异步复制支持增量复制方式,可以节省数据备份的带宽占用,缩短数据的备份时间。

 

  灾难检测:

    两地三中心的灾难检测通过对资源组状态的监控来判断资源的可用性,包括数据库资源组、网络资源组等。当检测到生产中心有资源组出现fault状态时,同城内生产中心同灾备中心将进行切换,以保证业务的连续性。

 

  容灾切换:
    基于应用容灾切换包括一系列的动作:停止灾难节点的部件服务、切断数据复制链路、建立数据容灾基线、启动容灾节点的部件服务、通知前端设备进行业务网络切换。具体动作可以结合实际情况,通过脚本来定制。

 

  恢复回切
    回切工作流程和切换流程原理是一样的,只是因为切换的时候是不确定触发的、可能导致业务受部分影响;而回切的时候通过人工确认,选择最小影响的情况下执行操作(比如业务流量非常小的情况下,甚至暂停业务情况下),因此回切推荐采用的是手动切换模式。

    

 

标签:架构,中心,同城,学习,复制,异地,机房,两地,灾备
From: https://www.cnblogs.com/sfzlstudy/p/17503935.html

相关文章

  • 各种在学习过程中遇到的问题集锦(不定期更新)
    各种在学习过程中遇到的问题一、IE控制台使用问题问题1、打开IE控制台中的“网络(Network)”时无法查看加载文件解决办法:进入控制台的设置部分点击还原默认值并刷新即可解决相关问题二、Java学习遇到的问题三、IDEA软件使用遇到的问题四、Mysql数据库使用遇到的问题......
  • MarkDown学习
    #MarkDown学习##标题###三级标题####四级标题   ##字体**hello,word!***hello,word!****hello,word!***~~hello,word!~~   ##引用>选择星星,走向人生巅峰##分割线 ---***##图片![截图](C:\Users\24874\Pictures\CameraRoll\桌面.jpg)##超链接[点......
  • 强化学习从基础到进阶-常见问题和面试必知必答[5]::梯度策略、添加基线(baseline)、优势函
    强化学习从基础到进阶-常见问题和面试必知必答[5]::梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)1.核心词汇策略(policy):在每一个演员中会有对应的策略,这个策略决定了演员的后续动作。具体来说,策略就是对于外界的输入,输出演员现在应该要执行的动作。一般地,我......
  • 强化学习从基础到进阶-常见问题和面试必知必答[5]::梯度策略、添加基线(baseline)、优势函
    强化学习从基础到进阶-常见问题和面试必知必答[5]::梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)1.核心词汇策略(policy):在每一个演员中会有对应的策略,这个策略决定了演员的后续动作。具体来说,策略就是对于外界的输入,输出演员现在应该要执行的动作。一般地,我们......
  • Kubernetes 系列:了解 k8s 架构(一)
    Kubernetes概述当下,我们很多项目于都在CloudNative(云原生)的上面,这种方法旨在使组织能够确保可用性并快速响应和适应变化,云原生其实就是一组本质上支持在不同云环境(公共云、私有云或混合云)上大规模构建、运行和管理应用程序的实践和技术。云原生离不开两个概念:容器和微服务,这......
  • 图论 学习笔记(省选+)
    网络流最大流问题(MaximumFlowProblem)有向有权图给定起点s和终点t预期:求出从s到t的最大流ps.有些“管道”达不到其最大容量朴素的匹配算法(NaiveAlgorithm):未必能找到最大流,其结果往往比最优解差一点,但是其他更好的算法都基于此算法构建一个和原图(OriginalGraph)相同......
  • 线性规划学习笔记
    线性规划学习笔记1 线性规划定义定义1.1已知一组实数\(a_1,a_2,\cdots,a_n\),以及一组变量\(x_1,x_2,\cdots,x_n\),在这些变量的一个线性函数定义为\(f(x_1,x_2,\cdots,x_n)=\sum_{i=1}\limits^na_ix_i\)。等式\(f(x_1,x_2,\cdots,x_n)=b\),不等式\(f(x_1,x_2,\cdots......
  • Verilog 呼吸灯学习心得体会
    2023-06-25 呼吸灯设计思路:系统时钟25MHz→20us定时器→20ms定时器→2s定时器/占空比计数器→输出设计流程:1.设置时间单位、全局参数和input/output端口定义;2.设置本模块参数3.设置reg变量;4.设置wire型变量5.设置assign赋值语句4.always语句实现功能:......
  • Android学习第一书
    大家好,我是一名Facebook的工程师,同时也是《第一行代码——Android》的忠实读者。虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的《第一行代码——Android》。事实上,这本书在我面试Facebook的时候给我提供了很大的帮助。为此,我专门为这本书......
  • 热度直逼TensorFlow的深度学习框架,我用它画下女朋友最美的脸
    这不,又一个程序员为爱变身灵魂画手,看得我都想学画画了。阿华是幸运的,因为他找到了对的方法,事半功倍,最终有情人终成眷属。这也得益于PyTorch的易学易用,大多数人第一次使用PyTorch几乎可以做到无痛上手。就连深度学习三巨头之一,图灵奖得主YannLeCun都在Twit......