ZooKeeper是什么?
ZooKeeper是一个分布式协调服务,它致力去解决如何在分布式环境下保持数据一致性的问题。
ZooKeeper是致力于解决分布式上各种协调问题的一个服务。
ZooKeeper是干什么的?
1、可以保证事务执行顺序的一致性:在分布式系统中,在没有ZooKeeper的时候,多台服务器上执行任务我们需要考虑各台服务器上任务的协调,比如事务A在事务B前面执行,由于网络的不稳定性,我们必须考虑到这个问题,但是ZooKeeper出现后,ZooKeeper帮我们解决了这部分问题,我们以后不再需要过分专注于分布式协调问题了,我们可以更加专注于业务逻辑的设计。
2、可以保证单调一致性:简单来说,就是用户读取到更新之后的信息以后,用户不再读取比这个信息更旧的信息。
3、Master节点的管理:分布式系统上有一个Master节点和一个Master节点的备份,但是当Master节点挂掉后,由于备份中是定期读取Master节点上的元数据的,所以数据不同步,读取到的数据要比实际数据要旧很多,所以导致数据丢失等问题,但是采用ZooKeeper后,ZooKeeper给注册到他下面的所有客户端一个编号,然后让这些机器都拥有相同的元数据视图,当Master几点挂掉后,马上启用编号最小的那台机器作为Master节点。
为什么要使用ZooKeeper?
ZooKeeper的目标就是封装好复杂易出错的关键性服务,将复杂低效不稳定的功能封装成简单易用、性能高效、功能稳定的接口提供给用户,提高用户的开发效率以及开发难度。