第十四篇:Zookeeper的概述

1. 什么是Zookeepr

  ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务。
  1.它首先提供了分布式锁服务,由于ZooKeeper是开源的,后来者在分布式锁的基础上又提供了配置维护、组服务、分布式消息队列、分布
式通知/协调等。
  2.它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

2. Zookeeper 的特点

  1.最终一致性
    客户端无论连接到哪个Server,展示给它的都是同一个视图,这是Zookeeper最重要的性能。

  2.可靠性
    具有简单、健壮、良好的性能,如果消息message被一台服务器接受,那么它将被所有的服务器接受。

  3.实时性
    Zookeeper保证客户端将在一个时间间隔范围内,获得服务器的更新信息或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。

  4.等待无关(wait-free)
    慢的或者失效的Client不得干预快速的Client的请求,这就使得每个Client都能有效的等待。
  5.原子性
    更新操作要么成功,要么失败,没有中间状态。
  6.顺序性
    对于所有Server,同一消息发布顺序一致。它包括全局有序和偏序两种。
      (1):全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布。
      (2):偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。

第十四篇:Zookeeper的概述