随笔 - 53  文章 - 0  评论 - 36  阅读 - 26万 

随笔分类 -  ZooKeeper

ZooKeeper学习、运用
10.Curator队列
摘要:Curator也提供ZK Recipe的分布式队列实现。利用ZK的 PERSISTENTSEQUENTIAL节点,可以保证放入到队列中的项目是按照顺序排队的。如果单一的消费者从队列中取数据,那么它是先入先出的,这也是队列的特点。如果你严格要求顺序,你就得使用单一的消费者,可以使用leader选举只让leader作为唯一的消费者。但是,根据Netflix的Curator作者所说,ZooKee... 阅读全文
posted @ 2015-11-09 22:59 技术江湖-小焕 阅读(1526) 评论(0) 推荐(0) 编辑
09.Curator临时节点
摘要:使用Curator也可以简化Ephemeral Node (临时节点)的操作。临时节点驻存在ZooKeeper中,当连接和session断掉时被删除。比如通过ZooKeeper发布服务,服务启动时将自己的信息注册为临时节点,当服务断掉时ZooKeeper将此临时节点删除,这样client就不会得到服务的信息了。1.PersistentEphemeralNode类 Persistent... 阅读全文
posted @ 2015-11-06 15:29 技术江湖-小焕 阅读(5332) 评论(0) 推荐(1) 编辑
08.Curator缓存
摘要:可以利用ZooKeeper在集群的各个节点之间缓存数据。每个节点都可以得到最新的缓存的数据。Curator提供了三种类型的缓存方式:Path Cache,Node Cache 和Tree Cache。1.Path Cache Path Cache用来监控一个ZNode的子节点。当一个子节点增加,更新,删除时,Path Cache会改变它的状态,会包含最新的子节点,子节点的数据和状态。... 阅读全文
posted @ 2015-11-06 14:59 技术江湖-小焕 阅读(2744) 评论(0) 推荐(2) 编辑
07.Curator计数器
摘要:这一篇文章我们将学习使用Curator来实现计数器。顾名思义,计数器是用来计数的,利用ZooKeeper可以实现一个集群共享的计数器。只要使用相同的path就可以得到最新的计数器值,这是由ZooKeeper的一致性保证的。Curator有两个计数器,一个是用int来计数,一个用long来计数。1.SharedCount1.SharedCount计数器介绍这个类使用int类型来计数。 主要涉... 阅读全文
posted @ 2015-11-06 10:03 技术江湖-小焕 阅读(1483) 评论(0) 推荐(0) 编辑
06.Curator Barrier
摘要:分布式Barrier是这样一个类: 它会阻塞所有节点上的等待进程,知道某一个被满足, 然后所有的节点继续进行。 比如赛马比赛中, 等赛马陆续来到起跑线前。 一声令下,所有的赛马都飞奔而出。1.栅栏Barrier1.DistributedBarrier类说明DistributedBarrier类实现了栅栏的功能。它的构造函数如下:/** * @param client client *... 阅读全文
posted @ 2015-11-04 21:54 技术江湖-小焕 阅读(1710) 评论(0) 推荐(0) 编辑
05.Curator分布式锁
摘要:锁:分布式的锁全局同步,这意味着任何一个时间点不会有两个客户端都拥有相同的锁。1.可重入锁Shared Reentrant Lock 首先我们先看一个全局可重入的锁(可以多次获取,不会被阻塞)。Shared意味着锁是全局可见的,客户端都可以请求锁。Reentrant和JDK的ReentrantLock类似,意味着同一个客户端在拥有锁的同时,可以多次获取,不会被阻塞。1.可重入锁相关类... 阅读全文
posted @ 2015-11-02 22:05 技术江湖-小焕 阅读(7412) 评论(1) 推荐(1) 编辑
04.Curator Leader选举
摘要:在分布式计算中,leader election是很重要的一个功能,这个选举过程是这样子的:指派一个进程作为组织者,将任务分发给各节点。在任务开始前,哪个节点都不知道谁是leader或者coordinator。当选举算法开始执行后,每个节点最终会得到一个唯一的节点作为任务leader。除此之外,选举还经常会发生在leader意外宕机的情况下,新的leader要被选举出来。 Curato... 阅读全文
posted @ 2015-11-02 16:18 技术江湖-小焕 阅读(4228) 评论(0) 推荐(2) 编辑
11.Curator扩展库
摘要:Recipes组件包含了丰富的Curator应用的组件。但是这些并不是ZooKeeper Recipe的全部。大量的分布式应用已经抽象出了许许多多的的Recipe,其中有些还是可以通过Curator来实现。 如果不断都将这些Recipe都增加到Recipes中,Recipes会变得越来越大。为了避免这种状况,Curator把一些其它的Recipe放在单独的包中,命名方式就是curat... 阅读全文
posted @ 2015-11-01 23:03 技术江湖-小焕 阅读(2732) 评论(0) 推荐(0) 编辑
03.Curator深入使用
摘要:1.Apache Curator简介 Curator提供了一套Java类库,可以更容易的使用ZooKeeper。ZooKeeper本身提供了Java Client的访问类,但是API太底层,不宜使用,易出错。Curator提供了三个组件。Curator client用来替代ZOoKeeper提供的类,它封装了底层的管理并提供了一些有用的工具。Curator framework提供了高级的AP... 阅读全文
posted @ 2015-10-31 22:27 技术江湖-小焕 阅读(10718) 评论(1) 推荐(3) 编辑
02.ZooKeeper的Java客户端使用
摘要:1.ZooKeeper常用客户端比较1.ZooKeeper常用客户端 zookeeper的常用客户端有3种,分别是:zookeeper原生的、Apache Curator、开源的zkclient,下面分别对介绍它们:zookeeper自带的客户端是官方提供的,比较底层、使用起来写代码麻烦、不够直接。Apache Curator是Apache的开源项目,封装了zookeeper自带的客户端,使... 阅读全文
posted @ 2015-10-30 16:42 技术江湖-小焕 阅读(16974) 评论(0) 推荐(8) 编辑
01.ZooKeeper安装和介绍
摘要:1.ZooKeeper安装和启动1.下载解压ZooKeeperZooKeeper官方地址:http://zookeeper.apache.org/ 下载当前稳定版本:zookeeper-3.4.6.tar.gz 解压如下:[lizhiwei@localhost ZooKeeper]$ tar -zxvf zookeeper-3.4.6......[lizhiwei@localhost ZooKee... 阅读全文
posted @ 2015-10-19 23:00 技术江湖-小焕 阅读(999) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示