![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式——Zookeeper
Zookeeper
asadsfasfasdfas
这个作者很懒,什么都没留下…
展开
-
07.ZooKeeper -ZAB协议
ZK如何保证集群每个节点的数据一致的 总体对ZK的操作分为两类:读取,更新(增删改),在ZK中所有的节点均允许读取数据,但是如果是更新请求那么如果连接到节点是follower节点那么follower节点会把写请求转发给leader节点进行处理 ZAB协议(ZooKeeper Atomic Broadcast,ZooKeeper原子消息广播协议) 是专为ZK设计的一致性协议。 所有的更新请求都转发给leader leader节点分配全局单调递增事务id(Zxid),广播事务提议(发给所有follower)原创 2020-10-14 20:31:19 · 101 阅读 · 0 评论 -
05.ZooKeeper的应用
注册中心 服务注册 多个服务在注册时候在一个持久化节点下创建临时节点 服务发现 服务消费者获取持久化节点下的子节点列表 负载均衡 命名服务 数据信息存储到节点 分布式锁 新建客户端,创建临时序列节点 判断临时节点是否存在前一个节点 不存在则获得分布式锁 存在则监听前一个节点的remove事件,前一个节点被remove后获得锁 获得锁后执行业务代码 执行完成业务代码,关闭客户端,释放锁 分布式队列 永久序列节点 自增ID 永久序列节点 Master选举 ...原创 2020-10-11 22:15:19 · 55 阅读 · 0 评论 -
04.Curator操作ZooKeeper
引入依赖 <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>4.0.0</version> </dependency> 连接ZK CuratorFramework curatorFramework = CuratorFrameworkFactory.原创 2020-10-11 18:04:08 · 110 阅读 · 0 评论 -
03.CMD命令
基本命令 # 创建znode,-s表示顺序节点,-3表示临时节点 create [-s] [-e] path data acl # 获取节点数据,-w表示监听 get path [-w] # 更新节点数据 set path data [-v] # 获取状态 stat path [-w] # 获取某路径下所有节点,-R为递归获取 ls path [-R] [-w] # 删除某个znode,-v为版本乐观锁机制 delete path [-v] # 递归删除 deleteall path 配额命令 # -原创 2020-10-11 12:03:43 · 122 阅读 · 0 评论 -
06.ZooKeeper集群
集群简介 ZooKeeper有两种模式:standalone和quorum模式,standalone模式下开发使用生产不会使用,一般在生产环境中使用quorum模式因为quorum模式包含多个ZooKeeper节点 Quorum模式 处于Quorum模式的ZooKeeper集群包含多个ZooKeeper节点。在ZooKeeper集群中分为主节点(leader)和跟随者节点(follower),leader节点可以处理读写请求,follower只可以处理读请求。follower在接到写请求时会把写请求转发给l原创 2020-10-09 20:48:11 · 72 阅读 · 0 评论 -
02.Zookeeper安装
docker hub链接——https://hub.docker.com/_/zookeeper?tab=description&page=1&name=3.5 Docker-Compose部署单节点Zookeeper #直接docker-compose up -d启动即可 version: '3.1' services: zoo1: image: zookeeper:3.5.5 hostname: zoo1 ports: - 2181:2181 d原创 2020-10-09 14:12:59 · 66 阅读 · 0 评论 -
01.ZooKeeper介绍
什么是Zookeeper Zookeeper是一个开源的分布式协同服务系统。Zookeeper的设计目标是将那些复杂且容易出错的分布式协同服务封装起来,抽象出一个高效可靠的原语集,并以一系列简单的接口提供给用户使用。 Zookeeper的发展历史 Zookeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多软件系统都需要依赖一个系统来进行协同。但是这样的协同系统往往都存在单点问题。 所以,雅虎的开发人员就开发了一个通用的无单点问题的分布式协同服务系统,这就是Zookeeper。原创 2020-10-09 11:58:00 · 144 阅读 · 0 评论