一致性模型
计算机科学领域术语
在计算机科学领域,分布式一致性问题是一个相当重要,且被广泛论证与探索的问题。
概述
通常存在于分布式内存共享,分布式存储(例如:分布式文件系统,数据库,缓存)等分布式系统中。
问题原型
假设有下列场景:
-节点N_1和N_2上存放着数据X的拷贝
-客户端A更新节点N_1上的数据X
-一段时间之后,客户端B从节点N_2上读取数据X
在这个场景中,客户端B从节点N_2上是否可以读取到客户端A在节点N_1上的数据更新取决于系统的实现,而这便是分布式一致性问题。
一致性算法
Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX中的La,供职于微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法,是最优秀的分布式一致性算法。
Basic Paxos
Multi-Paxos
Cheap Paxos
Fast Paxos
Generalized Paxos
Byzantine Paxos
工程实现
zookeeper
zookeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Chubby
来自Google的Paxos实现,是一个分布式锁服务。
spanner
Spanner是谷歌公司研发的、可扩展的、多版本、全球分布式、同步复制数据库。它是第一个把数据分布在全球范围内的系统,并且支持外部一致性的分布式事务。本文描述了Spanner的架构、特性、不同设计决策的背后机理和一个新的时间API,这个API可以暴露时钟的不确定性。这个API及其实现,对于支持外部一致性和许多强大特性而言,是非常重要的,这些强大特性包括:非阻塞的读、不采用锁机制的只读事务、原子模式变更。
IBM SVC
IBM SVC异构存储整合解决方案实现了虚拟存储层(Virtualization Layer)的功能,将存储智能加入到SAN的网络中。用户可以按照应用不断变化的需求来分配存储,而不再受制于存储子系统设备在功能和性能上的限制。SVC又是一个SAN网络的中心管理控制点,而且它对服务器的操作系统和存储子系统透明。
Microsoft AutoPilot
AutoPilot是微软用于维护大规模互联网服务的工具利器,采用简单的模型和设计思想,AutoPilot负责自动化的运维数据中心中提供服务的大规模机器。
参考资料
最新修订时间:2023-04-27 09:54
目录
概述
概述
问题原型
一致性算法
参考资料