分布式存储系统学习笔记(一)—什么是分布式系统(7)—跨机房部署的三种方案

在分布式系统中跨机房部署的问题一直都令人头疼,机房之间的网络时延较大且不稳定。跨机房部署的问题主要包含两个方面:数据同步以及服务切换。跨机房部署通常有以下三种方案:

a)   集群整体切换

集群整体切换是最为常见的方案,假设某系统部署在两个机房1和2。两个机房保持独立,每个机房部署单独的总控节点,且每个总控节点各有一个备份节点。两个机房部署相同的副本数,一个为主机房(保存主副本),另外一个为备机房。

机房之间的数据同步方式为强同步或者异步:

-    强同步:备机房的数据和主机房保持一致。当主机房出现故障时,除了手工切换,还可以自动切换,即通过分布式锁服务检测主机房的服务,当主机房出现故障时,自动将备机房切换为主机房。

-    异步:备机房的数据总是落后于主机房。当主机房整体出现故障时,有两种选择:要么将服务切换到备机房,忍受数据丢失的风险;要么停止服务,直到主机房恢复为止。这两种方式的选择往往是手工来选择进行切换的。

b)  单个集群跨机房

将单个集群部署到多个机房,允许不同数据分片的主副本位于不同的机房。整个集群只有一个总控节点,同机房1和机房2的所有工作节点保持通信,并由分布式锁服务检测,当总控节点故障,将机房2的备份节点切换为总控节点。

采用这种方式部署,总控节点在执行数据分布时,需要考虑机房信息,即尽量将同一个数据分片的多个副本分布到不同的机房。

c)   Paxos选主副本

上述两种方案,总控节点需要和工作节点保持租约,当故障发生时,自动将它上面服务的主副本切换到其他工作节点。

采用Paxos协议选主副本,那么每个数据分片的多个副本构成一个Paxos复制组【比如B1,B2,B3,B4】,当B1出现故障时,其他副本尝试切换为主副本,Paxos协议保证只有一个副本会成功,这样,总控节点和工作节点之间不再需要保持租约。

这种方式降低了了对总控节点的依赖,缺点是工程复杂度太高,很难在线下模拟所有异常情况。

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值