我是靠谱客的博主 超级眼神,最近开发中收集的这篇文章主要介绍分布式存储系统学习笔记(一)—什么是分布式系统(7)—跨机房部署的三种方案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

a)   集群整体切换

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

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

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

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

b)  单个集群跨机房

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

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

c)   Paxos选主副本

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

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

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

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

最后

以上就是超级眼神为你收集整理的分布式存储系统学习笔记(一)—什么是分布式系统(7)—跨机房部署的三种方案的全部内容,希望文章能够帮你解决分布式存储系统学习笔记(一)—什么是分布式系统(7)—跨机房部署的三种方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部