一、容灾
所谓容灾,在IT行业通常是指我们的计算机信息系统具有的一种在遭受诸如火灾、水灾、地震、断电和其他基础网络设备故障等毀灭性灾难的时候,依然能够对外提供可用服务的能力。
对于一些普通的应用,为了达到容灾标准,通常我们会选择在多台机器上进行部署来组成一个集群,这样即使在集群的一台或是若干台机器出现故障的情况下,整个集群依然能够对外提供可用的服务。
而对于一些核心应用,不仅要通过使用多台机器构建集群的方式来提供服务,而且还要将集群中的机器部署在两个机房,这样的话,即使其中一个机房遭遇灾难,依然能够对外提供可用的服务。
上面讲到的都是应用层面的容灾模式,那么对于 ZooKeeper这种底层组件来说,如何进行容灾呢?讲到这里,可能不少读者会有疑问,ZooKeeper既然已经解决了单点问题,那么为什么还要进行容灾呢?
二、单点问题
单点问题是分布式环境中最常见也是最经典的问题之一,在很多分布式系统中都会存在这样的单点问题。具体地说,单点问题是指在一个分布式系统中,如果某一个组件出现故障就会引起整个系统的可用性大大下降甚至是处于瘫痪状态,那么我们就认为该组件存在单点问题。
ZooKeeper确实已经很好地解决了单点问题。根据前面章节对ZooKeeper技术内幕的讲解,我们已经可以了解到,基于“过半”设计原则,ZooKeeper在运行期间,集群中至少有过半的机器保存了最新的数据。因此,只要集群中超过半数的机器还能够正常工作整个集群就能够对外提供服务。
三、zookeeper容灾
解决了单点问题,是否就不需要考虑容灾了呢?答案是否定的,在搭建一个高可用的集群的时侯依然需要考虑容灾问题。正如上面讲到的,如果集群中超过半数的机器还在正常工作,集群就能够对外提供正常的服务。那么,如果整个机房出现灾难性的事故,这时显然已经不是单点问题的范畴了。
在进行 Zookeeper的容灾方案设计过程中,我们要充分考虑到“过半”原则。也就是说,无论发生什么情况,我们必须要保证Z0 Keeper集群中有超过半数的机

本文介绍了在IT行业中容灾的概念及其重要性,并详细探讨了ZooKeeper在单点问题解决的基础上,如何通过三机房及双机房部署实现容灾,确保在灾难情况下仍能提供稳定服务。
最低0.47元/天 解锁文章
3769

被折叠的 条评论
为什么被折叠?



