多数据中心间复制技术的较量

虽然数据中心的建设规模越来越大,但也不可能无限制地扩容下去,这和数据中心所处的位置、环境、技术水平、公共设施等都有关系。很多时候,要在多地建设很多座数据中心,有时是应用的需要,有时是资源限制,也有时是为了数据备份,甚至到现在还出现了很多新鲜的概念:比如微型数据中心,云端数据中心等,不再一味地强调建设超大超强的数据中心,俗话说“三个臭皮匠顶一个诸葛亮”,未来的数据中心可以以数量取胜,而不是个体的大与小。那么问题来了,多个数据中心之间如何协调工作,才能达到“1+1大于2”的效果?这就涉及到数据中心之间的数据复制技术,必须学会用好复制技术,才能玩转多数据中心。

单主复制技术

单主复制指的是只有一个主数据中心有数据写权限,完成数据的写入工作,同时向其它数据中心同步数据,其它数据中心只提供只读服务。单主复制技术相当于将主数据中心的数据COPY多份,放到其它数据中心中,供更多人去访问,但是这些数据只有读权限,对于那些交互式的访问,这种复制技术行不通。为了不影响主数据中心的写入性能,同步数据一般采用异步方式复制,这样由于时间上的不完全同步,当主数据中心失效时,其它数据中心的数据会有少量丢失,还有多个数据中心只有一个主数据中心执行写数据操作,工作效率低,写数据量少,同样也会影响复制到其它数据中心的数据量,最终影响的是整个数据中心系统的效率。

多主复制技术

既然单主复制技术的写数据效率太低,于是就出现了多主复制技术。多主实现了多个数据中心都可以写数据,当然也支持读数据。多主复制技术需要解决写请求顺序的问题,不同数据中心所处的位置不同,相同的写操作在不同的数据中心执行的效果和时间并不同,这就容易出现数据的差异,导致写数据错误或者有延迟,这是数据中心的应用所不能容忍的,这样一般选择在地理位置上接近的数据中心进行同时写数据,时延可以得到保障,所以这类多主复制技术一般是部署在两个数据中心上,由两个位置较近的数据中心同时完成写数据,同时两个数据中心向其它数据中心复制数据,其它数据中心支持数据的读访问,如果要实现多于两个数据中心同时写数据,多主复制技术就不适合了。

第二阶段提交技术

两阶段提交是在分布式系统上实现事务的一种协议,分布式系统的一个难点是如何保证架构下多个节点在进行事务性操作的时候保持一致性。二阶段提交技术首先假设存在一个节点作为协调者,其他节点作为参与者,所有节点之间可以进行网络通信。同时所有节点都采用预写式日志,即使节点损坏日志数据也不会消失。二阶段提交技术也适用于多数据中心之间数据复制,在数据中心里选出一个协调者,其它充当参与者,按照第二阶段提交算法来实现多数据中心之间的数据复制。不过,第二阶段提交技术也有很大限制,这种方案虽没有单点错误,但由于额外的协调通讯,它会提高延迟,一个写操作时间就要达到 200 毫秒的级别,大大降低吞吐量和增加延迟,不适用于那些对吞吐量和时延要求比较高的数据中心。在协调者数据中心在执行过程中,所有参与节点都是事务阻塞型的,当参与者发生故障,协调者需要给每个参与者额外指定超时机制,超时后整个事务失败,没有容错机制,参与者可能会一直阻塞下去。如果协调者在发出commit消息之后宕机,而唯一接收到这条消息的参与者同时也宕机了,那么即使协调者通过选举协议产生了新的协调者,这条事务的状态也是不确定的,没人知道事务是否已经被提交。显然第二阶段提交技术也存在问题,当然还有第三阶段提交技术,相比第二阶段提交增加了超时机制,并在第一阶段和第二阶段之间增加了一个准备阶段,保证了在最后提交阶段之前各参与节点的状态是一致的。既然第三阶段提交比第二阶段好,为何是第二提交阶段技术总为人所提及,这是因为第三阶段提交会存在数据不一致的问题,这大大限制了技术的应用。

Paxos一致性算法

Paxos是莱斯利兰伯特于1990年提出的一种基于消息传递的算法,被认为是一致性算法中最为有效的一种,其解决了一个分布式系统中数据一致性问题。Paxos为保证每个节点执行相同的命令序列,需要在每一条指令上执行Paxos,以保证每个节点看到的指令一致。若在多数据中心之间部署Paxos,可以实现数据的完全一致性。将Paxos算法部署到数据中心,可以实现所有的跨数据中心一切操作,特别用来协调状态在数据中心间转移。如果你的应用为一个数据中心提供数据,当它需要把数据转移到另外一个数据中心时,这些协调的工作就需要通过 Paxos ,Paxos 还会用来管理 memcache 和离线处理。因为Paxo算法中也有不少的判断和交互过程,这直接导致的就是数据的处理时延高,读写效率下降,但数据基本不会丢失,并且数据中心之间的数据也完全一致。

本文作者:佚名          

来源:51CTO

时间: 2024-10-29 19:38:02

多数据中心间复制技术的较量的相关文章

云存储多数据中心QoS保障机制研究

云存储多数据中心QoS保障机制研究 江苏大学 夏纯中 本文分析了云存储多数据中心间网络链路带宽利用不均衡的问题,提出了一种面向QOS的多数据中心间网络流量调度模型.模型的优化目标是保证不同QoS级别数据传输的性能需求,并使数据中心间网络链路带宽资源利用率最大化.本文结合云存储多数据中心层次化管理特点,提出了一种基于双层多粒子群的网络流量调度算法.该算法具有更快的收敛速度.避免了传统算法极易陷入局部最优值问题.仿真结果表明,本算法可以提升云存储多数据中心间网络链路带宽的利用率,并且保障高QoS优先

需求至上——MongoDB多数据中心的方案选型

Teambition业务本身是为了了更好的团队协作,并且随着用户量和使用⾏业.企业的增加,越来越多的跨国协作需求体现出来.对TB的选型来说,目的就是多region(大陆/海外)来提供服务,逐步扩大市场.总结而言,是业务的需要.   Single-Cluster or Multi-Cluster ? • 单集群还是多集群的选择往往受到业务本身,以及希望实现什么样的多数据中心架构影响 • 是否需要所谓的多primary写入   Replsettag or Shardtagrange ? • 数据库集

实现数据中心间互通的纽带——DCI技术

现在的数据中心早已不是一座孤立的机房,而是一个建筑群.一个数据中心可以包含很多个分支数据中心,可以说是一个数据中心群,这些分支数据中心所处的位置不同,却可以通过网络互联起来,共同完成相应的业务部署.像阿里.腾讯.百度等这些大型互联网公司,为了提升客户访问体验,会在不同省会都会建立自己的数据中心分支机构,以便满足不同地区的客户访问需求,数据中心早已不再局限于一座或几座机房.这些数据中心要协同运转,就需要相互之间交互信息,这就有了互连需求,产生了DCI网络,即Data Center Inter-co

Confluent宣布企业版Kafka支持多数据中心复制功能

最新的Confluent企业版支持多数据中心复制.自动数据平衡和云迁移功能.Confluent是基于Apache Kafka的流平台提供商,它宣布了Confluent企业版的新特性,这些特性有助于构建流数据管道和开发流处理应用. 新的版本将会在本月底发布,其中包括了Confluent的两个版本: Confluent平台:这是开源版本.它包括了Apache Kafka以及针对C.C++.Python和Go编程语言的客户端,它还打包了针对JDBC.ElasticSearch和HDFS的连接器,一个用

第一线集团于亚洲各主要数据中心间建立超高规格运营商级别的网络连接

8月10日消息,大中华区领先的电信中立网络服务提供商第一线集团欣然宣布,集团已成功通过其来自多家电信商建立稳定强大和全备援的网络骨干,于亚洲各主要数据中心之间建立超高规格运营商级别的网络连接.第一线确保其客户可利用前所未有的稳定网络基础设施,以较短时间开通第二及第三层网络服务组合,节省高达50%的成本. 第一线集团于上月在大中华区推出全新的万兆骨干环,以连接主要城市,包括:香港.北京.上海.广州及台北.这是继第一线的虚拟专用网络(VPN)与世纪互联的内容聚合互联主干网络(CCIB)业务单位合并后

天猫电器城谭飙:价格战是电商间的良性较量

围绕家电3C品类的http://www.aliyun.com/zixun/aggregation/34463.html">电商价格战,仍在持续升温. 5月17日,天猫 电器城总经理谭飙说,"我们会根据市场的现实需要,考虑增加或者维持对天猫电器城促销的力度." 5月7日,天猫电器城决定投入2亿元,启动贯穿整个夏季的消费者 回馈活动"狂暑季". 此前一日,易迅网公布消息称,将联手腾讯网投入5亿元的让利额度及营销资源到3C数码以及电器商品上.由此,电商间旨

NTT在SDN数据中心使用Coriant光网络平台,实现多数据中心互联

NTT集团正在计划使用Coriant的光网络平台来实现位于香港的多个数据中心之间的互联,该公司表示这一举措将使NTT通过其光纤基础设施提供100G+数据中心互联服务,这些数据中心能够支持企业云.托管数据中心和用户拥有的数据中心之间的软件定义网络(SDN)连接. Coriant公司的产品部署在NTT公司的密集波分复用(DWDM)基础设施上,开放的应用程序编程接口(API)平台能够容纳3.2兆比特的容量.还支持可编程DWDM线路接口,用于管理各种场景下的100G和400G之间的传输. Coriant

一“网”打尽云计算?

开放式vs一站式:谁更佳? 在记者的案头,摆着两份调查报告,一份来自Gartner,一份来自德勤.前者论证的是,企业或机构在引入两家厂商http://www.aliyun.com/zixun/aggregation/11108.html">网络产品后,5年内可以节省大约15%~20%的TCO(总拥有成本),并且大多数企业在引入第二家网络厂商产品之后,网络的复杂性也持续下降.德勤的报告由思科委托所做,其结论是,从长期的角度来看,使用单一厂商产品和多厂商产品在总体费用上并没有差别,因为引入多厂

跨数据中心二层网络——H3C云间互联解决方案

数据中心间通常部署以下三种互联链路,每种互联链路所承载的数据不同,实现的功能不同,如下图所示: 三层互联.也称为数据中心前端网络互联,所谓"前端网络"是指数据中心面向企业园区网或企业广域网的出口.不同数据中心(主中心.灾备中心)的前端网络通过IP技术实现互联,园区或分支的客户端通过前端网络访问各数据中心.当主数据中心发生灾难时,前端网络将实现快速收敛,客户端通过访问灾备中心以保障业务连续性. 二层互联.也称为数据中心服务器网络互联.在不同的数据中心服务器网络接入层,构建一个跨数据中心的