摘要:
分布式Barrier是这样一个类: 它会阻塞所有节点上的等待进程,知道某一个被满足, 然后所有的节点继续进行。 比如赛马比赛中, 等赛马陆续来到起跑线前。 一声令下,所有的赛马都飞奔而出。1.栅栏Barrier1.DistributedBarrier类说明DistributedBarrier类实现了栅栏的功能。它的构造函数如下:/** * @param client client *... 阅读全文
摘要:
锁:分布式的锁全局同步,这意味着任何一个时间点不会有两个客户端都拥有相同的锁。1.可重入锁Shared Reentrant Lock 首先我们先看一个全局可重入的锁(可以多次获取,不会被阻塞)。Shared意味着锁是全局可见的,客户端都可以请求锁。Reentrant和JDK的ReentrantLock类似,意味着同一个客户端在拥有锁的同时,可以多次获取,不会被阻塞。1.可重入锁相关类... 阅读全文
摘要:
在分布式计算中,leader election是很重要的一个功能,这个选举过程是这样子的:指派一个进程作为组织者,将任务分发给各节点。在任务开始前,哪个节点都不知道谁是leader或者coordinator。当选举算法开始执行后,每个节点最终会得到一个唯一的节点作为任务leader。除此之外,选举还经常会发生在leader意外宕机的情况下,新的leader要被选举出来。 Curato... 阅读全文
摘要:
Recipes组件包含了丰富的Curator应用的组件。但是这些并不是ZooKeeper Recipe的全部。大量的分布式应用已经抽象出了许许多多的的Recipe,其中有些还是可以通过Curator来实现。 如果不断都将这些Recipe都增加到Recipes中,Recipes会变得越来越大。为了避免这种状况,Curator把一些其它的Recipe放在单独的包中,命名方式就是curat... 阅读全文
摘要:
1.Apache Curator简介 Curator提供了一套Java类库,可以更容易的使用ZooKeeper。ZooKeeper本身提供了Java Client的访问类,但是API太底层,不宜使用,易出错。Curator提供了三个组件。Curator client用来替代ZOoKeeper提供的类,它封装了底层的管理并提供了一些有用的工具。Curator framework提供了高级的AP... 阅读全文
摘要:
1.ZooKeeper常用客户端比较1.ZooKeeper常用客户端 zookeeper的常用客户端有3种,分别是:zookeeper原生的、Apache Curator、开源的zkclient,下面分别对介绍它们:zookeeper自带的客户端是官方提供的,比较底层、使用起来写代码麻烦、不够直接。Apache Curator是Apache的开源项目,封装了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... 阅读全文
摘要:
Elasticsearch支持Http类型的Restful风格API请求,需要打开9200端口。Elasticsearch服务会监听两个端口9200和9300,9200提供Http Restful访问,9300端口用于集群内节点内部通信。 关于Elasticsearch Http Restful API可参考:https://www.elastic.co/guide/en/elast... 阅读全文
摘要:
1.下载运行Elasticsearch1.下载解压elasticsearchElasticsearch官网地址:https://www.elastic.co/ Elasticsearch最新版下载地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 下载文件elasticsearch-1.7.2.... 阅读全文
摘要:
1.下载安装ActiveMQ 下载地址:http://activemq.apache.org/download-archives.html选择相应的版本,笔者选择的是:apache-activemq-5.9.0-bin.tar.gz 解压文件: [wch@localhost ActiveMQ]$ t 阅读全文