【转】分区容错性

http://book.51cto.com/art/201203/323908.htm

1.6.3   分区容错性

最为常见的系统部署方案之一就是在一台巨大的中央服务器上安装一个数据库供其他东西访问。这可以让你的系统具有一致性,但是扩展性又如何呢?分区容错性能让你的系统在部分断网的情况下仍然可以完全正常地运转。要实现完全分区容错,系统就必须在任何情况下都能正常运转,除非完全断网。分区容错性几乎总是和有效性相伴左右,而与一致性则差别迥异。

实现分区容错的一种常见方式是将数据库切分成不同的“分区”,或是网上的不同区块,甚至可以处于不同的网络上。这样做的优势是,如果某个网段断线了,并不会把整个系统拖垮。如果你将应用程序均匀地部署于多个不同的网络或网段,该应用程序就不会依赖于某个单一的网段,因而其分区容错能力就更强。分区容错意味着除了彻底失效以外,发生任何故障时,系统都能够正常运行。也就是说,如果网络中的某个节点发生了故障,系统的其余部分必须适应并填补发生故障的部分。

分区容错性是实现起来最为复杂的概念之一。你往往需要把系统切分成等价的部分,每部分都能够完成整个系统的所有职能。当一个节点失效时,必须确保不会对系统其余部分产生影响。只要能联上系统至少一个节点,整个系统的功能就应该是完好的,当失效的节点重新上线后,还必须确保其与系统保持同步。

猜你喜欢

转载自blog.csdn.net/wuzhong8809/article/details/85340790