`
fulianqiu
  • 浏览: 8739 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

多IDC的数据分布设计(一)

 
阅读更多

转自:http://timyang.net/distributed/multi-idc-consensus/

一、Master/slave

这个是多机房数据访问最常用的方案,一般的需求用此方案即可。因此大家也经常提到“premature optimization is the root of all evil”。
优点:利用mysql replication即可实现,成熟稳定。
缺点:写操作存在单点故障,master坏掉之后slave不能写。另外slave的延迟也是个困扰人的小问题。

二、Multi-master

Multi-master指一个系统存在多个master, 每个master都具有read-write能力,需根据时间戳或业务逻辑合并版本。比如分布式版本管理系统git可以理解成multi-master模式。具备最终一致性。多版本数据修改可以借鉴Dynamo的vector clock等方法。

优点:解决了单点故障。
缺点:不易实现一致性,合并版本的逻辑复杂。

三、Two-phase commit(2PC)

Two-phase commit是一个比较简单的一致性算法。由于一致性算法通常用神话(如Paxos的The Part-Time Parliament论文)来比喻容易理解,下面也举个类似神话的例子。

某班要组织一个同学聚会,前提条件是所有参与者同意则活动举行,任意一人拒绝则活动取消。用2PC算法来执行过程如下

Phase 1

Prepare: 组织者(coordinator)打电话给所有参与者(participant) ,同时告知参与者列表。
Proposal: 提出周六2pm-5pm举办活动。
Vote: participant需vote结果给coordinator:accept or reject。
Block: 如果accept, participant锁住周六2pm-5pm的时间,不再接受其他请求。

Phase 2

Commit: 如果所有参与者都同意,组织者coodinator通知所有参与者commit, 否则通知abort,participant解除锁定。

Failure 典型失败情况分析

Participant failure:
任一参与者无响应,coordinator直接执行abort
Coordinator failure:
Takeover: 如果participant一段时间没收到cooridnator确认(commit/abort),则认为coordinator不在了。这时候可自动成为Coordinator备份(watchdog)
Query: watchdog根据phase 1接收的participant列表发起query
Vote: 所有participant回复vote结果给watchdog, accept or reject
Commit: 如果所有都同意,则commit, 否则abort。

优点:实现简单。
缺点:所有参与者需要阻塞(block),throughput低;无容错机制,一节点失败则整个事务失败。

四、Three-phase commit (3PC)

Three-phase commit是一个2PC的改进版。2PC有一些很明显的缺点,比如在coordinator做出commit决策并开始发送commit之后,某个participant突然crash,这时候没法abort transaction, 这时候集群内实际上就存在不一致的情况,crash恢复后的节点跟其他节点数据是不同的。因此3PC将2PC的commit的过程1分为2,分成preCommit及commit, 如图。

(图片来源:http://en.wikipedia.org/wiki/File:Three-phase_commit_diagram.png)

从图来看,cohorts(participant)收到preCommit之后,如果没收到commit, 默认也执行commit, 即图上的timeout cause commit。

如果coodinator发送了一半preCommit crash, watchdog接管之后通过query, 如果有任一节点收到commit, 或者全部节点收到preCommit, 则可继续commit, 否则abort。

优点:允许发生单点故障后继续达成一致。
缺点:网络分离问题,比如preCommit消息发送后突然两个机房断开,这时候coodinator所在机房会abort, 另外剩余replicas机房会commit。

五、Paxos

Google Chubby的作者Mike Burrows说过, “there is only one consensus protocol, and that’s Paxos” – all other approaches are just broken versions of Paxos. 意即“世上只有一种一致性算法,那就是Paxos”,所有其他一致性算法都是Paxos算法的不完整版。相比2PC/3PC, Paxos算法的改进

  • P1a. 每次Paxos实例执行都分配一个编号,编号需要递增,每个replica不接受比当前最大编号小的提案
  • P2. 一旦一个 value v 被replica通过,那么之后任何再批准的 value 必须是 v,即没有拜占庭将军(Byzantine)问题。拿上面请客的比喻来说,就是一个参与者一旦accept周六2pm-5pm的proposal, 就不能改变主意。以后不管谁来问都是accept这个value。
  • 一个proposal只需要多数派同意即可通过。因此比2PC/3PC更灵活,在一个2f+1个节点的集群中,允许有f个节点不可用。

另外Paxos还有很多约束的细节,特别是Google的chubby从工程实现的角度将Paxos的细节补充得非常完整。比如如何避免Byzantine问题,由于节点的持久存储可能会发生故障,Byzantine问题会导致Paxos算法P2约束失效。

以上几种方式原理比较如下

(图片来源:http://snarfed.org/space/transactions_across_datacenters_io.html)

 

分享到:
评论

相关推荐

    深圳IDC机房调研报告.pptx

    四楼为专业IDC机房 一、先进的机房设计 T3+标准五星级机房,独立数据中心建筑,地上4层,地下1层,建筑面积1.2万㎡, 层高6M,抗8级地震,一楼地板承重3t/㎡,二楼以上达1.2t/㎡ 二、可靠的电力设施 采用三路市电专供...

    IDC机房空调系统气流组织几种常见分析.doc

    机房气流分析。为了能够给IDC机房等提供一个长期稳定、合理、温湿度分布均匀的运行环境,在配置机房精密空调时,通常要求冷风循环次数大于30次,机房空调送风压力75Pa。

    IDC机房空调制冷系统规划设计.pptx

    数据中心规划设计对空调制冷系统的要求 系统设备发热量的组成 数据中心总热负荷的估算 制冷系统的节能规划 IT设备散热特点和对制冷的要求 数据中心机架气流状况与存在的问题 机架布局和设备分布问题 CRAC冷却性能的...

    数据中心机房建设与规范.pptx

    数据中心机房建设流程概述 机房土建部分已完工,已具备电气工程进场条件 工程前期 准备 工程设计 设计会审 开工准备 项目建设 启动会 进场 过程管理 工程验收 工程移交 4 数据中心机房建设流程概述 数据中心机房建设...

    剖析大数据.docx

    剖析大数据 作者:暂无 来源:《计算机世界》 2014年第6期 中国移动通信集团设计院有限公司 史彤 数据可以产生价值吗?十年前,很多人恐怕会对这个问题给予否定或者模棱两可的答案。在那时的观念和技术发展水平下,...

    旅游大数据平台方案.docx

    IDC发现很多用户希望大数据能够为企业带来业务创新,并且开始使用高级分析的解决方案以管理复杂的数据环境。过去一年中用户对社交数据的收集和分析应用的关注度增加明显。未来,地理位置信息分析将会增长迅速,这也...

    网络安全专业术语简介.docx

    安全监管 系统架构特点: 统一管理,分布部署该文设计的企业网络安全管理系统是采用网络安全管理中心对系统进行部署和管理,并且根据网络管理人员提出的需求,将网络安全代理分布地布置在整个网络系统之中,然后将...

    数据中心(Data Center)供电解决方案分享-电路方案

    我国出现数千台服务器数据中心机房,运行功率为数十兆瓦或更高(天河2号高达24兆瓦),而如何可靠安全地为这些数据中心的IDC设备供电时限制IDC设备发展的一个难点。IBM、Google、Facebook等公司在这些做了先行的研究...

    中小型局域网组建.doc

    计算机网络是现代通信技术与计算机技术相结合的产物,就是把分布在不同地理区域 的计算机利用通信线路连成一个规模大、功能强的网络系统,从而使众多的计算机可以 方便地互相传递信息,共享硬件、软件、数据信息等...

    building_storage_networks_chsSAN存储区域网络 .rar

    国际数据公司(IDC)预言:若按磁盘的每兆字节价格计算,在2003年之前,磁盘存储系统的价格平均每年将下降40%。事实上,不考虑其他的因素,仅考虑新的硬盘驱动器一项,就能得出上述结论,因为磁盘的记录密度每12~...

    网络工程师培训教程.txt

    – 第二级 理系统 大型行业的专业互连网络 ,提供专业服务的数据中 心及电信接入层与汇接层 的应用 安全策略软件平台 第三级 RG-SAM IDC应用 IDC应用 RG-WALL1500 大型内网互连 和大型内网互连 中型企业, – 第四级 ...

Global site tag (gtag.js) - Google Analytics