zookeeper
tlk20071
这个作者很懒,什么都没留下…
展开
-
zookeeper安装和使用 windows环境
简介ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包原创 2016-07-25 22:27:02 · 125189 阅读 · 23 评论 -
ZooKeeper 学习 (六) ZooKeeper实现数据发布订阅(即配置中心)
数据发布/订阅(Publish/Subscribe)系统,即所谓的配置中心,顾名思义就是发布者将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行数据订阅,进而达到动态获取数据的目的,实现配置信息的集中式管理和数据的动态更新。发布/订阅系统一般有两种设计模式,分别是推(Push)模式和拉(Pull)模式。ZooKeeper采用的是推拉相结合的方式:客户端向服务端注册自己需要原创 2017-08-13 16:13:07 · 1184 阅读 · 0 评论 -
ZooKeeper 学习 (一) ZooKeeper的基本概念
简单介绍ZooKeeper的几个核心概念,后边会深入讨论集群角色 Leader:为客户端提供读和写服务 Follower:提供读服务,参与Leader选举 Observer : 提供读服务,但不参与Leader选举会话(Session) 指客户端会话,客户端和服务器之间TCP长连接,通过心跳检测与服务器保持有效会话原创 2017-07-27 23:47:25 · 365 阅读 · 0 评论 -
ZooKeeper 学习 (四) ZooKeeper Java客户端API使用
1.创建会话import java.io.IOException;import java.util.concurrent.CountDownLatch;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.Watcher.Even原创 2017-08-03 22:52:42 · 444 阅读 · 0 评论 -
三阶段提交3PC
3PC是2PC的改进版,将2PC提交事务请求一分为二,形成了由CanCommit、PreCommit、doCommit三个阶段组成的事务处理协议。三阶段提交协议流程示意图:CanCommit阶段 3PC的CanCommit阶段其实和2PC的准备阶段很像。协调者向参与者发送commit请求,参与者如果可以提交就返回Yes响应,否则返回No原创 2017-07-25 22:30:44 · 323 阅读 · 0 评论 -
两阶段提交2PC
事务提交示意图:事务中断示意图:优点:原理简单,实现方便缺点:同步阻塞:二阶段提交最大的问题就是同步阻塞,各个参与者在等待其他参与者响应的过程,将无法进行其他任何操作。单点问题:协调者单点,一旦出现问题,提交流程将无法流转,更为严重的是,如果协调者在阶段二中出现问题,其他参与者讲会一直处于锁定事务资源的状态中。数据不一致:阶段二协调者只发送部分commit后出现问题,就会造成数据不一致太过保守:没...原创 2017-07-25 21:50:08 · 378 阅读 · 0 评论 -
ZooKeeper 学习 (三) 客户端zkCli.sh以及相关操作命令
zkCli.sh./zkCli.sh 连接本地服务器./zkCli.sh -server ip:port 连接指定IP地址服务器创建节点(create)create [-s] [-e] path data acl-s或-e分别指定节点特性:顺序或临时节点,默认情况原创 2017-08-02 22:14:28 · 1956 阅读 · 0 评论 -
ZooKeeper 学习 (五) 开源ZkClient操作ZooKeeper
我们主要从创建会话、创建节点、读取数据、更新数据、删除节点和检查节点是否存在等方面来节点如何使用ZkClient操作ZooKeeper,具体代码如下,鉴于方便,代码写到了一个类里面,虽然不易读,但所有内容都已包括。package com.tlk.zk.chapter5.zkclient;import java.util.HashMap;import java.util.List;imp原创 2017-08-07 23:31:37 · 603 阅读 · 0 评论 -
ZooKeeper 学习 (二) ZAB协议简单总结
ZooKeeper并没有完全采用Paxos算法,而是使用了一种称为ZooKeeper Atomic Broadcast(ZAB,ZooKeeper原子消息广播协议)的协议作为其数据一致性的核心算法。包括两种基本的模式,分别是崩溃恢复和消息广播。消息广播 ZAB协议的消息广播过程使用的是一个原子广播协议,类似于一个二阶段提交过程。ZAB协议的二阶段提交过程中原创 2017-08-01 00:29:05 · 374 阅读 · 0 评论 -
Zookeeper学习(七):ZooKeeper 实现命名服务(系统唯一ID)
系统唯一ID生成分案有很多种,例如:数据库auto_increment,UUID,Redis生成ID(Redis原子操作INCR和INCRBY),Twiitter的snowflake算法,ZooKeeper生成ID,MongoDb的ObjectId,下面我们就看一下ZooKeeper实现分布式系统唯一ID。具体步骤:1.创建持久的顺序节点 2.获取返回的节原创 2017-08-13 17:29:06 · 3782 阅读 · 0 评论