前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

ZooKeeper 具有全局数据一致性、可靠性、顺序性、原子性以及实时性,可以说 ZooKeeper 的其他特性都是为满足 ZooKeeper 全局数据一致性这一特性

全局数据一致性

每个服务器都保存一份相同的数据副本,客户端连接到集群的任意节点上,看到的目录树都是一致的(也就是数据都是一致的),这也是 ZooKeeper 最重要的特征。

可靠性

如果消息(对目录结构的增删改查)被其中一台服务器接收,那么将被所有的服务器接收

顺序性

ZooKeeper 顺序性主要分为全局有序和偏序两种。

其中全局有序是指如果在一台服务器上消息 A 在消息 B 前发布,则在所有服务器上消息 A 都将在消息 B 前被发布;

偏序是指如果一个消息 B 在消息 A 后被同一个发送者发布, A 必将排在 B 前面。

无论全局有序还是偏序,其目的都是为了保证 ZooKeeper 全局数据一致。

数据更新原子性

每次数据更新操作要么成功(半数以上节点成功),要么失败,不存在中间状态。

实时性

ZooKeeper 保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。

上一篇 下一篇