zookeeper源码
近战法师夏洛特
这个作者很懒,什么都没留下…
展开
-
关于zookeeper数据 set与get 一致性问题
public void run() { try { while (true) { Request request = submittedRequests.take(); // 这里 使用队列来存储来自 long traceMask = ZooTrace.CLIENT_REQUEST_TRA...原创 2019-01-31 16:15:50 · 959 阅读 · 0 评论 -
zookeeper请求处理流程
zk的服务端处理接入请求的时候 使用多种工厂 如果没有在配置文件中进行申明则使用默认配置 这里默认的工厂是NIOServerCnxnFactory 我们下面的分析围绕NIOServerCnxnFactory进行开展 static public ServerCnxnFactory createFactory() throws IOException { String se...原创 2019-02-11 11:09:56 · 1532 阅读 · 0 评论 -
zk的客户端发送请求
客户端的发送数据核心代码如下org.apache.zookeeper.ClientCnxn.SendThread.run()while (state.isAlive()) { try { if (!clientCnxnSocket.isConnected()) { ......原创 2019-02-12 14:36:44 · 587 阅读 · 0 评论 -
zk-leader选举
文章目录选举环境QuorumCnxManagerFastLeaderElection消息体的定义消息组装两个线程选举流程主要逻辑梳理选举环境QuorumCnxManagerQuorumCnxManager QuorumCnxManager.Listener QuorumCnxManager.SendWorker final ConcurrentHashMap<...原创 2019-03-19 15:30:50 · 519 阅读 · 0 评论 -
zk-leader选举 流程描述
zk的选举流程涉及很多个线程的并发控制 明确每个线程的职责后 进行流程的具体分析首先准备好环境 https://blog.csdn.net/zhaoyu_nb/article/details/88663599正式开始 其实是从makeLEStrategy().lookForLeader()方法的调用开始的 这里根据配置文件的electorArg来指定具体的选举算法,一般默认使用3 其他的都弃...原创 2019-03-19 16:52:50 · 556 阅读 · 0 评论