加载中
zk中分布式锁,分布式屏障

zk中分布式锁,分布式屏障 curator 屏障 DistributedBarrier对象 通过客户端连接和指定路径创建DistributedBarrier对象 barrier.setBarrier() 表示没有屏障时先设置屏障节点 Barrier.waitOn...

2019/12/11 17:49
69
zk运维中的知识补充

1 使用telnet命令连接zk telnet 127.0.0.1 2181 使用stat命令查看服务状态信息 2 brew install zookeeper create -e /zk-book 123 ls / get /zk-book set /zk-book delete /zk-book 客户端 ...

zk中使用zab协议来保证数据一致性

1zab能够保证一个全局的变更序列被顺序应用 2zab协议包含两个模式: 崩溃恢复 消息广播 Zab协议必须设计这样一个选举算法:能够确保提交已经被leader提交的事务proposal,同时丢弃被跳过的事务...

2019/11/27 11:47
69
zk中实现分布式锁服务

什么场景下需要实现分布式锁? Q: 例如多台客户端修改zk中配置文件,如何保证数据的一致性 解决方案 zk中分布式锁实现步骤 创建锁,获取锁,删除锁 具体实现 开始在zk中create 一个persisten...

ZK
2019/11/08 12:07
120
zk通过监听读取配置信息

import com.alibaba.fastjson.JSON; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.Wa...

ZK
2019/10/24 16:42
35
zk中FinalRequestProcessor解析

是处理器最后一个环节 FinalRequestProcessor implements RequestProcessor 处理器链最后一个环节处理事务和非事务请求最后一个环节 构造器 public FinalRequestProcessor(ZooKeeperServer z...

ZK
2019/10/24 11:32
59
zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

ZK
2019/10/24 10:54
78
zk中CommitProcessor解析

CommitProcessor用来处理提交的请求 CommitProcessor extends Thread implements RequestProcessor UML关系图 内部类 CommitWorkRequest 属性 queuedRequests 请求等待队列 committedRequest...

2019/10/24 10:48
59
zk请求处理类PrepRequestProcessor

PrepRequestProcessor作为leader第一个请求处理器,可以识别当前客户端请求是否是事务请求,如果是,会进行一系列预处理,创建请求事务头,事务体,会话检测,ACL检查和版本检测 属性 构造方...

ZK
2019/10/21 19:18
47
zk中learner解析

learner时observer,follower的父类,定义了公共属性和方法 子类 Follower 和Observer 内部类: PacketInFlight表示在提议中还没有commit的消息 static class PacketInFlight { TxnHeader hd...

2019/10/21 10:12
158
zk中leader和follower启动时信息交互

QuorumPeer中读取节点状态信息,不同状态下设置不同角色 1 Leader启动Follower接收器LearnerCnxAcceptor LearnerCnxAcceptor负责接收非leader连接请求,线程中创建LearnerHandler处理器 2 Le...

2019/10/17 19:01
128
zk中集群版中角色和消息类型

服务器角色 LEADER LEARNER FOLLOWING OBSERVER 消息类型 数据同步 服务器初始化 请求处理型 会话管理型 LEADER 集群工作核心,作用有: 1事务请求唯一调度和处理者,保证事务处理顺序性 2集...

2019/10/17 16:41
113
zk中ZooKeeperServer解析

内部类 ChangeRecord 处理PrepRP和FinalRP之间的信息 static class ChangeRecord { ChangeRecord(long zxid, String path, StatPersisted stat, int childCount, List<ACL> acl) { this.zxi...

ZK
2019/10/17 15:55
72
zk服务预启动和启动选举过程

QuorumPeerMain类 public static void main(String[] args) { QuorumPeerMain main = new QuorumPeerMain(); try { main.initializeAndRun(args); } catch (IllegalArgumentException e......

2019/10/17 15:11
443
zk工厂方法实现NIOServerCnxnFactory

NIOServerCnxnFactory类 内部类 AbstractSelectThread AcceptThread SelectorThread 属性 ZOOKEEPER_NIO_SESSIONLESS_CNXN_TIMEOUT 10s session过期时间 ZOOKEEPER_NIO_NUM_SELECTOR_THREADS...

2019/10/17 14:10
80
zk中ServerCnxnFactory连接管理工厂

作为ServerCnxn的工厂抽象类 属性 ZOOKEEPER_SERVER_CNXN_FACTORY zookeeper.serverCnxnFactory secure 在ServerCnxnFactory中SSL是否启用 sessionMap session管理配置中信息(sessionId,Ser...

2019/10/17 11:08
173
zk中ServerCnxn

实现接口Stats, Watcher 内部类 DisconnectReason CloseRequestException EndOfStreamException(流关闭) 属性 方法 getSessionTimeout 获取session失效时间 sendResponse 发送回复数据 se...

2019/10/16 17:43
56
zk中QuorumPeer

内部类 AddressTuple 地址组 QuorumServer ServerState状态looking f o l ZabState ZabState当前状态 SyncMode 同步机制 LearnerType 学习类型 属性 Vote currentVote 节点认为当前服务是谁 ...

ZK
2019/10/16 16:30
42
zk中快速选举FastLeaderElection实现

选举涉及概念 服务器状态 投票 如何选择投票? 协议 选举 如何进行选举? epoch 发送者 接收者 发送队列 接收队列 服务器状态 public enum ServerState { LOOKING,寻找Leader状态,当服务处于...

2019/10/16 10:28
84
zk中选举Leader时的网络IO QuorumCnxManager解析

每台服务启动过程中,会启动一个QuorumCnxManager,负责各台服务器之间底层Leader选举过程中的网络通信 当集群中有服务器服务中断时,zk会重新选举leader 内部类 Message定义消息结构 包含了...

2019/10/14 16:26
92

没有更多内容

加载失败,请刷新页面

返回顶部
顶部