ZooKeeper
Drogon Brother
这条路 我并不寂寞
展开
-
Zookeeper简介
zookeeper简介1、zookeeper动物园管理员2、zookeeper简介中间件,提供协调服务 作用于分布式系统,发挥其优势,可以为大数据服务 支持java,提供java和C语言的客户端API如果感兴趣的童鞋,可以观看我下一篇博客:什么是分布式系统...原创 2019-01-08 00:22:00 · 131 阅读 · 0 评论 -
Zookeeper技术内幕之ZkClient客户端
4、Zookeeper技术内幕之ZkClient客户端4.3 ZkClient客户端4.3.1 简介 Zkclient是一个开源的客户端,在Zookeeper原生API接口的基础上进行了包装,更便于开发人员使用。内部实现了Session超时重连,Watcher反复注册等功能。就像Dubbo框架对其他也进行了集成。4.3.2 API介绍 以下API方...原创 2019-09-05 11:26:29 · 213 阅读 · 0 评论 -
Zookeeper技术内幕之客户端命令
4、Zookeeper技术内幕之客户端命令4.2 客户端命令4.2.1 启动客户端(1)连接本机zk服务器(2)连接其他zk服务器4.2.2 查看子节点-ls 查看根节点/brokers节点下所包含的所有子节点列表:4..2.3 创建节点-create(1)创建永久节点 创建一个名字为china的节点,其值为...原创 2019-09-05 10:55:58 · 137 阅读 · 0 评论 -
Zookeeper技术内幕之重要理论
4、Zookeeper技术内幕之重要理论4.1 重要理论4.1.1 数据模型znode 红色表示根节点,蓝色表示父节点,绿色表示叶子节点。 zk数据存储结构与标准的Unix文件系统非常相似,都是在根节点下挂很多子节点。zk中没有引入传统文件系统中目录与文件的概念,而是使用了称为znode的数据节点概念。znode是zk中数据的最小单元,每个znode上都...原创 2019-09-05 10:38:40 · 172 阅读 · 0 评论 -
Zookeeper高可用集群的容灾
2、Zookeeper高可用集群的容灾2.1 服务器数量的奇数与偶数 无论是写操作投票,还是Leader选举投票,都必须过半才能通过,也就是说若出现超过半数的主机宕机,则永远无法通过。基于该理论,由3台主机构成的集群最多允许1台宕机,由5台主机构成的集群最多允许2台宕机,由6台主机构成的集群最多也是允许2台宕机。即5台和6台主机构成的集群容灾能力是一样的。 ...原创 2019-09-03 11:14:14 · 2135 阅读 · 0 评论 -
Zookeeper理论基础之CAP定理
1、Zookeeper理论基础之CAP定理1.5 CAP定理1.5.1 简介 CAP原则又称为CAP理论,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。 一致性(C):分布式系统中多个主机之间是否能够保持数据一致性的特性。即当系统数据发生更新...原创 2019-09-02 11:03:11 · 9353 阅读 · 0 评论 -
Zookeeper理论基础之ZAB协议
1、zookeeper理论基础1.4 ZAB协议1.4.1 ZAB协议简介 ZAB,Zookeeper Atomic Broadcast,zk原子广播协议,是专为Zookeeper设计的一种支持崩溃恢复的原子广播协议。在Zookeeper中,主要是依赖于ZAB协议来实现分布式数据一致性。 Zookeeper使用一个单一主进程来接受和处理客户端所有事务请求,即...原创 2019-09-02 10:57:06 · 309 阅读 · 0 评论 -
Zookeeper理论基础之Paxos算法
1、Zookeeper理论基础1.3 Paxos算法 对于zk的学习,最重要的也是最难的就是Paxos算法学习。所以首先我们需要学习Paxos算法。1.3.1 算法简介 Paxos算法是莱斯利.兰伯特1990年提出的一种基于消息传递的、具有高容错性的一致性算法。Google Chubby的作者Mike Burrows说过,世上只有一种一致性算法,那就是Pax...原创 2019-08-31 16:01:30 · 483 阅读 · 0 评论 -
Zookeeper理论基础之zk含义及如何保证一致性
1、Zookeeper理论基础1.1、Zookeeper含义 Zookeeper是一个分布式协调应用程序服务器,其为分布式系统提供一致性服务。其一致性是通过Paxos算法的ZAB协议完成的。其主要功能包括:配置维护、域名服务、分布式同步、集群管理等。下图是官网解释:1.2、zookeeper如何保证一致性 zk是如何保证分布式系统一致性呢?是因为zk...原创 2019-08-31 15:42:03 · 3182 阅读 · 2 评论 -
开发zk分布式锁
开发zk分布式锁1、分布式锁流程图根据分布式锁流程图开发分布式锁2、工具类DistributedLock.java(1)zk分布式锁工具类整体结构图(2)分布式锁:变量定义(3)分布式锁:初始化方法init()(4)分布式锁:获取锁方法getLock()(5)分布式锁:释放锁方法releaseLock()(6)分布式锁:zk节点监...原创 2019-01-13 16:59:27 · 287 阅读 · 0 评论 -
获取分布式锁流程
获取分布式锁流程分布式锁流程图流程图详解:(1)程序中包含初始化zk节点init()方法、获取锁getLock()方法、释放锁releaseLock()方法、addWatcherToLock()监听节点方法;(2)判断锁是否被占用,如果存在zk节点,表示锁已经被占用,需要等待释放;如果不存在zk节点,当前线程会创建一个临时zk节点,表示当前线程拥有该锁;(3)获...原创 2019-01-13 16:54:19 · 411 阅读 · 0 评论 -
zk的curator与spring的整合
分布式锁目的:数据最终一致性。zk的curator与spring的整合(1)工程结构(2)编写ZKCurator.java类和applicationContext-zookeeper.xml配置文件(3)定义zookeeper重试策略retryPolicyRetryNTimes构造方法:(4)zookeeper客户端curator连接zk服务器Cur...原创 2019-01-13 16:50:56 · 1197 阅读 · 2 评论 -
分布式锁概念与最终数据不一致场景
1、分布式锁的概念分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。2、最终数据不一致场景场景图分析:此场景是没有添加分布式锁,如果并发情况下,可能会导致库存出现负数...原创 2019-01-13 16:44:19 · 339 阅读 · 0 评论 -
死锁与活锁的概念
了解zk分布式锁之前先来了解下死锁和活锁引用:https://blog.csdn.net/huangshulang1234/article/details/791583061、死锁死锁是多线程中最差的一种情况,多个线程相互占用对方的资源的锁,而又相互等对方释放锁,此时若无外力干预,这些线程则一直处理阻塞的假死状态,形成死锁。举个例子,A同学抢了B同学的钢笔,B同学抢了A同学的书,两...转载 2019-01-13 16:39:49 · 9029 阅读 · 1 评论 -
Zookeeper之JDK安装
Zookeeper之JDK安装1、为什么zookeeper需要安装JDK?因为zookeeper是需要JDK来编译的。2、JDK安装总体流程oracle官网下载jdk1.8,上传至linux服务器 解压缩jdk,配置jdk环境变量 验证jdk环境是否安装成功3、JDK安装具体步骤(1)oracle官网下载jdk1.8(2)通过ftp工具上传包(...原创 2019-01-08 00:34:04 · 4129 阅读 · 0 评论 -
分布式系统的瓶颈以及zookeeper相关特性
分布式系统的瓶颈以及zookeeper相关特性1、分布式系统的瓶颈两幅图可以用于表示系统中的高并发场景2、zookeeper的特性一致性:数据一致性,数据按照顺序分批入库 原子性:事物要么成功要么失败,不会局部化(局部化:zookeeper集群中的所有节点数据修改要么全部成功,要么全部失败,不会某个节点数据修改成功。) 单一视图:客户端连接集群中的任一zk节点,数据都...原创 2019-01-08 00:30:53 · 1089 阅读 · 0 评论 -
什么是分布式系统
什么是分布式系统1、分布式系统概念?很多台计算机组成一个整体,一个整体一致对外并处理同一个请求 内部的每台计算机都可以互相通信(rest/rpc) 客户端到服务端的一次请求到响应结束会经历多台计算机2、分布式系统图解一图示详解:(1)服务器A表示主,服务器B表示备(2)文件服务器1、文件服务器2、文件服务器3构成集群(3)因此,整个分布式文件系统就是分布式集...原创 2019-01-08 00:27:48 · 697 阅读 · 0 评论 -
Zookeeper技术内幕之Curator客户端
4、Zookeeper技术内幕之Curator客户端4.4 Curator客户端4.4.1 简介 Curator是Netflix公司开源的一套zk客户端开源框架,与ZkClient一样,其也封装了zk原生的API。其目前已经成为Apache顶级项目。同时,Curator还提供了一套易用性、可读性更强的Fluent风格的客户端API框架。4.4.2 API介绍...原创 2019-09-05 14:08:48 · 811 阅读 · 0 评论