如何理解分布式协调技术
分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。
为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。
分布式协调技术方面做得比较好的就是Google的Chubby还有Apache的ZooKeeper。Chubby是非开源的,Google自家用。
雅虎模仿Chubby开发出了ZooKeeper,也实现了类似的分布式锁的功能,并且将ZooKeeper作为一种开源的程序捐献给了Apache,那么这样就可以使用ZooKeeper所提供的锁服务。
ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务。被设计为易于编程,使用文件系统目录树作为数据模型。
其提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如配置维护、组服务、分布式消息队列、分布式通知/协调等 。
ZooKeeper所提供的服务主要是通过:数据结构(znode)+原语(四字)+watcher通知机制,三个部分来实现的。
评论