一、Zookeeper介绍
1、Zookeeper是一个开放源码的分布式协调服务,有知名互联网公司雅虎创建,是Google Chubby的开源实现。设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。
2、Zookeeper是一个典型的分布式一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。
3、Zookeeper的设计目标:简单的数据模型、可以构建集群、顺序访问、高性能。
二、Zookeeper的基本概念
1、集群角色
Zookeeper集群中的所有机器通过一个Leader选举过程来选定一台被称为“Leader”的机器,Leader机器为客户端提供读和写服务。Follower和Observer都能够提供读服务,唯一的区别在于,Observer机器不参与Leader的选举过程,也不参与写操作的“过半写成功”策略,因此Observer可以在不影响写性能的情况下提升集群的读性能。
2、会话(session)
在Zookeeper中,一个客户端连接指客户端和服务器之间的一个tcp长连接。客户端启动的时候,首先会与服务器建立一个tcp连接