一、写在前面 之前写过一篇文章(《拜托,面试请不要再问我Redis分布式锁的实现原理》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式锁的原理。 同理,我是直接基于比较常用的Curator这个开源框架,聊一下这个框架 ...
分类:
其他好文 时间:
2019-11-30 22:42:20
阅读次数:
120
分布式锁介绍 分布式执行一些不需要同时执行的复杂任务,curator利用zk的特质,实现了这个选举过程。其实就是利用了多个zk客户端在同一个位置建节点,只会有一个客户端建立成功这个特性。来实现同一时间,只会选择一个客户端执行任务 代码 InterProcessMutex 是一个可重入的排他锁,获取锁 ...
分类:
其他好文 时间:
2019-11-18 12:29:56
阅读次数:
84
关于zookeeper的原理解析,可以参见zookeeper核心原理详解,本文所述大多数实践基于对zookeeper原理的首先理解。 Curator是Netflix公司开源的一个Zookeeper客户端,目前是apache顶级项目。与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...
分类:
编程语言 时间:
2019-11-16 10:40:39
阅读次数:
100
监控节点值的变化 通过NodeCache 来监控节点值的变化。 代码 监控子节点值的变化 还有另外一个类可以监控子节点的变化,就是PathChildrenCache 代码 上面代码可以发现,监控的是p1节点,但是只有p2节点更改才会收到通知,ephe_nd节点变化是没有通知的。所以,只能监控子节点, ...
分类:
其他好文 时间:
2019-11-15 15:49:40
阅读次数:
81
前言 记录下ZK客户端的使用学习,初步想法是从几个方面来记录 1. 如何开始使用及api介绍(创建会话以及增删查改) 2. 异步调用 3. 事件 4. Master选举 5. 分布式锁、计数器、Barrier 版本说明 zk版本: curator版本: 常用API介绍 1.创建会话 说一下retry ...
一、部署zookeeper1、资源规划服务器bigdata121/192.168.50.121,bigdata122/192.168.50.122,bigdata123/192.168.50.123zookeeper版本3.4.10系统版本centos7.22、集群部署(1)安装zk[root@bigdata121modules]#cd/opt/modules/zookeeper-3.4.10[r
分类:
其他好文 时间:
2019-11-03 10:46:19
阅读次数:
70
终于找到一个工具,curator,可以搜索相关信息。 记录一下: 1,查询索引: curator_cli --host 10.2.16.191 --port 9200 show_indices --verbose 2,删除索引: curator_cli --host 10.2.16.191 --po ...
分类:
其他好文 时间:
2019-09-11 15:53:28
阅读次数:
117
一、前言 为了避免存储在 Zookeeper 上的数据被其他程序或者人为误修改,Zookeeper 提供了 ACL(Access Control Lists) 进行权限控制。只有拥有对应权限的用户才可以对节点进行增删改查等操作。下文分别介绍使用原生的 Shell 命令和 Apache Curator ...
分类:
其他好文 时间:
2019-08-17 15:02:44
阅读次数:
98
一、基本依赖 Curator 是 Netflix 公司开源的一个 Zookeeper 客户端,目前由 Apache 进行维护。与 Zookeeper 原生客户端相比,Curator 的抽象层次更高,功能也更加丰富,是目前 Zookeeper 使用范围最广的 Java 客户端。本篇文章主要讲解其基本使 ...
分类:
编程语言 时间:
2019-08-17 14:47:50
阅读次数:
108
服务提供者user-service-provider 将服务提供者注册到注册中心 (1)导入Dubbo依赖与操作Zookeeper的客户端(curator) <!-- 引入dubbo --> <!-- https://mvnrepository.com/artifact/com.alibaba/du ...
分类:
其他好文 时间:
2019-08-13 15:15:31
阅读次数:
86