标签:des style blog http color io os ar 使用
1,先看看官方的定义吧:
ZooKeeper is a distributed, open-source coordination service for distributed applications. It exposes a simple set of primitives that distributed applications can build upon to implement higher
level services for synchronization, configuration maintenance, and groups and naming. It is designed to be easy to program to, and uses a data model styled after the familiar directory tree structure of file systems.
zookeeper 是一个分布式应用程序提供的分布式的开源的协调服务。他提供了一个简单的原语集,通过这些原语集可以实现更高层次的同步服务,配置管理,集群管理和命名服务。他被设计为易于编程和以一种和文件系统非常类似的数据模型来实现编程。
通过定义可以了解到zookeeper都有哪些作用,无非就是一句话:可以为分布式应用程序提供同步服务,命名服务等功能。但是了解到这里立即就会产生疑问----还有好多开源项目都可以为分布式应用程序提供这些服务啊,为什么要用zookeeper呢?
举两个例子:
可以用redis实现分布式锁啊,或是不用redis随便用个什么其他的什么东西都可以作为分布式应用程序的锁啊;
配置管理好像就更扯了,我随便可以把配置放到什么地方只要让分布式应用去读就可以了。
其实,zookeeper仅仅是只能提供这些功能也确实就没什么存在的必要了,关键是他能够提高可用的高一致性的这些服务。
提到高可用的这几个字,这时也许我们就会想到采用集群的方式(现在服务器部署的主流方式)。那么仅仅是因为这个redis同样也可以达到这个标准。但是zookeeper还有高一致性的特性。
总体上来讲,zookeeper作为分布式应用的协调服务拥有一下特性:
高可用性,高一致性,高性能 (是不是对于分布式理论中的cap呢 Consistency Availability Partition Tolerance 其实cap理论也是受到争议的)
下面主要说一说zookeeper的高一致性
参考:
用自己的话理解理解zookeeper(自认为纠正了网上的一些说法)
标签:des style blog http color io os ar 使用
原文地址:http://blog.csdn.net/donggua6/article/details/39940397