摘要:Zookeeper 源码(七)请求处理 以单机启动为例讲解 Zookeeper 是如何处理请求的。先回顾一下单机时的请求处理链。 请求的调用链如下: PrepRequestProcessor.processRequest() submittedRequests = new LinkedBlockin
阅读全文
摘要:Zookeeper 源码(六)Leader Follower Observer 上一节介绍了 Leader 选举的全过程,本节讲解一下 Leader Follower Observer 服务器的三种角色。经过 Leader 选举后各服务器都能确定自己的角色,下一步就是初始化各自的角色。 先回顾一下【
阅读全文
摘要:Zookeeper 源码(五)Leader 选举 前面学习了 Zookeeper 服务端的相关细节,其中对于集群启动而言,很重要的一部分就是 Leader 选举,接着就开始深入学习 Leader 选举。 一、选举规则 Leader 选举是保证分布式数据一致性的关键所在。当 Zookeeper 集群中
阅读全文
摘要:Zookeeper 源码(四)Zookeeper 服务端源码 Zookeeper 服务端的启动入口为 QuorumPeerMain 一、单机启动 __(1) 启动入口__【ZooKeeperServerMain】 __(2) 核心启动方法__【ZooKeeperServerMain】 __(3) Z
阅读全文
摘要:Zookeeper 源码(三)Zookeeper 客户端源码 Zookeeper 客户端主要有以下几个重要的组件。客户端会话创建可以分为三个阶段:一是初始化阶段、二是会话创建阶段、三是响应处理阶段。 类 | 说明 | Zookeeper | Zookeeper 客户端入口 ClientWatchMa
阅读全文
摘要:Zookeeper 源码(二)序列化组件 Jute 一、序列化组件 Jute 对于一个网络通信,首先需要解决的就是对数据的序列化和反序列化处理,在 ZooKeeper 中,使用了Jute 这一序列化组件来进行数据的序列化和反序列化操作。同时,为了实现一个高效的网络通信程序,良好的通信协议设计也是至关
阅读全文
摘要:分布式理论系列(三)ZAB 协议 在学习了 Paxos 后,接下来学习 Paxos 在开源软件 Zookeeper 中的应用。 一、Zookeeper Zookeeper 致力于提供一个高性能、高可用,且具有严格的顺序访问控制能力(主要是写操作的严格顺序性)的分布式协调服务。高性能使得 Zookee
阅读全文
摘要:分布式理论系列(二)一致性算法:2PC 到 3PC 到 Paxos 到 Raft 到 Zab 本文介绍一致性算法: 2PC 到 3PC 到 Paxos 到 Raft 到 Zab __两类一致性算法(操作原子性与副本一致性)__ 协议用于保证属于多个数据分片上的操作的原子性。这些数据分片可能分布在不同
阅读全文
摘要:分布式理论系列(一)从 ACID 到 CAP 到 BASE 一、ACID 1.1 事务的四个特征: __(1) Atomic(原子性)__ 事务必须是一个原子的操作序列单元,事务中包含的各项操作在一次执行过程中,要么全部执行成功,要么全部不执行,任何一项失败,整个事务回滚,只有全部都执行成功,整个事
阅读全文
摘要:Zookeeper 系列(五)Curator API 一、Curator 使用 Curator 框架中使用链式编程风格,易读性更强,使用工程方法创建连接对象使用。 __(1) CuratorFrameworkFactory__ :俩个静态工厂方法(参数不同)来实现 参数1: connectStrin
阅读全文
摘要:Zookeeper 系列(四)ZKClient API 环境准备: 一、ZKClient 基本用法 一、ZKClient Watcher (一)节点变化 (一)子节点变化
阅读全文
摘要:Zookeeper 系列(三)Zookeeper API 本节首先介绍 Zookeeper 的 Shell 命令,再对 Java 操作 Zookeeper 的三种方式进行讲解,本节先介绍 Zookeeper 的原生 API。 Zookeeper API:Zookeeper 原生 api ZKClie
阅读全文
摘要:Zookeeper 系列(二)安装配制 一、Zookeeper 的搭建方式 Zookeeper 安装方式有三种,单机模式和集群模式以及伪集群模式。 __单机模式__ :Zookeeper 只运行在一台服务器上,适合测试环境; __集群模式__ :Zookeeper 运行于一个集群上,适合生产环境,这
阅读全文
摘要:Zookeeper 系列(一)基本概念 https://www.cnblogs.com/wuxl360/p/5817471.html 一、分布式协调技术 在给大家介绍 ZooKeeper 之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实 __分布式协调技
阅读全文