zookeeper简介

zookeeper功能

首先引用官网对zookeeper的功能概述
ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

1.配置维护(作为集群的配置中心)

集群是相同服务布置在多台机器上,当其中部分机器宕机之后,其它机器还可以正常提供服务。因为提供的是相同服务,所以每台机器的配置应该是一样的,当需要修改某个配置文件的时候,我们不可能每个机器挨个改配置。通过zookeeper提供的配置中心就可以轻松对集群内所有机器做配置更新。
工作方式为发布订阅模式,集群中的机器订阅zookeeper,发布者将修改发布到zookeeper,所有订阅的机器配置都会被更改。

2.域名服务(微服务)(服务注册中心)

在微服务中,经常需要多个服务之间的调用,对于每一个服务一般都会使用集群搭建,那么在调用该服务的时候需要调哪一个呢,这个时候就可以通过zookeeper提供域名服务。由zookeeper负责决定调用集群中哪一个服务器

3.分布式同步

对于某个服务来说,可能需要其它服务先执行完之后再执行,对于需要先执行的服务,可以在执行完后通知zookeeper,zookeeper再通知后面的服务去执行。类似于一种监听机制。

4.集群管理

通过心跳包的监听机制对集群中的机器进行监听,对于发生异常的机器可以进行监测,可以将异常情况发送给需要的服务。

总得来说,zookeeper主要用在集群和分布式的管理上。集群上用来管理配置文件和监测机器异常,分布式上用来做服务集群中的机器选择和分布式同步。

zookeeper一致性要求

顺序一致性:请求的执行顺序一致性
原子性:在每个机器上请求的结果一致
单一视图:集群中的每个机器数据都是相同的
可靠性:执行成功后结果不变
实时性:在相对短的时间内客户端得到数据

zookeeper中的一些概念

Session:会话。客户端与zookeeper的一个长连接
znode: 文件系统存储数据的方式,znode节点
Watcher机制:监听机制
ACL:访问控制列表

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务