随笔分类 -  zookeeper

摘要:前言 之前的Zookeeper协议篇-Paxos算法与ZAB协议通过了解Paoxs算法开始,到Zab协议的两大特性:崩溃恢复和消息广播,学习了Zookeeper是如何通过Zab协议实现高可用,本篇主要解析Zookeeper的启动流程 单机模式启动流程 我们知道,Zookeeper使用中分为单机和集群 阅读全文
posted @ 2020-06-04 10:09 SoyWang 阅读(1061) 评论(0) 推荐(0)
摘要:前言 可以自行去学习一下Zookeeper中的系统模型,节点特性,权限认证以及事件通知Watcher机制相关知识,本篇主要学习Zookeeper一致性算法和满足分布式协调的Zab协议 Paxos算法 Paxos算法是莱斯利*兰伯特在1990年提出的一种基于消息传递并且具有高度容错特性的一致性算法,是 阅读全文
posted @ 2020-06-02 10:41 SoyWang 阅读(561) 评论(0) 推荐(0)
摘要:1.1. ZAB协议是什么? ZAB协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。 ZAB协议包括两种基本的模式:崩溃恢复和消息广播。 当整个zookeeper集群刚刚启动或者Leader服务器宕机、重启或者网络故障导致不存在过半的服务器与Leader服务器保持正 阅读全文
posted @ 2019-08-24 13:18 SoyWang 阅读(2333) 评论(0) 推荐(0)
摘要:1.1. 集群模式 1.1.1. 数据同步总流程 1.1.1.1. OBSERVING 1.1.1.2. FOLLOWING 1.1.1.3. LEADING 1.1.2. 领导选举 1.1.2.1. 领导选举初始化 1.1.2.2. 线程逻辑 1.1.2.2.1. 发送请求用到的线程 1.1.2. 阅读全文
posted @ 2019-08-24 13:16 SoyWang 阅读(279) 评论(0) 推荐(0)
摘要:1.1. 一致性协议概述 前面已经讨论过,在分布式环境下,有很多不确定性因素,故障随时都回发生,也讲了CAP理论,BASE理论 我们希望达到,在分布式环境下能搭建一个高可用的,且数据高一致性的服务,目标是这样,但CAP理论告诉我们要达到这样的理想环境是不可能的。这三者最多完全满足2个。 在这个前提下 阅读全文
posted @ 2019-08-21 23:08 SoyWang 阅读(490) 评论(0) 推荐(1)
摘要:1.1. 客户端源码 1.1.1. 总体流程 启动客户端 zkCli.sh文件里面的配置 实际运行 Main方法流程: 在ZookeeperMain的构造方法里面,重点是 最终在connectToZK方法里面也就是使用原生的Zk客户端进行连接的。 public void start() { send 阅读全文
posted @ 2019-08-21 22:48 SoyWang 阅读(799) 评论(0) 推荐(0)
摘要:1.1.1.1. 客户端基本操作 package cn.enjoy.javaapi; import org.apache.zookeeper.*; import java.io.IOException; import java.util.concurrent.CountDownLatch; publ 阅读全文
posted @ 2019-08-21 22:41 SoyWang 阅读(387) 评论(0) 推荐(0)
摘要:1. Zookeeper基础 1.1. 部署 先把ZK安装起来,后面的很多操作,都是的前提都是由ZK的操作环境,先来把ZK安装好, 1.1.1. Zookeeper windows环境安装 环境要求:必须要有jdk环境,本次讲课使用jdk1.8 1.安装jdk 2.安装Zookeeper. 在官网h 阅读全文
posted @ 2019-08-14 13:35 SoyWang 阅读(395) 评论(0) 推荐(1)
摘要:1.1. 分布式系统基础知识 一个tomcat打天下的时代,不能说完全淘汰了,在一个管理系统,小型项目中还经常使用,这并不过分,出于成本的考虑,这反而值得提倡。 1.1.1. 分布式系统是什么 分布式系统:一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统 这是 阅读全文
posted @ 2019-08-14 13:27 SoyWang 阅读(576) 评论(0) 推荐(0)