0604【Zookeeper】
包含数据《从Paxos到zookeeper》、视频、博客
努力的阳光蓝孩
学习一时爽,一直学习一直爽
展开
-
【Zookeeper】完整学习路线 及 链接
第1节 安装第2节 简单操作第3节 分布式协调服务介绍、zookeeper节点介绍第4节 Zookeeper 分布式协调服务watcher机制第5节 Curator 客户端与Zookeeper的简单操作第6节 Curator 客户端与Zookeeper 事件监听第7节 Curator 客户端与Zookeeper springboot集成第8节 Zookeeper之Zab协议第9节 Zookeeper实现数据发布订阅第10节 Zookeeper实现分布式锁 原理第1.原创 2020-10-26 22:38:59 · 456 阅读 · 0 评论 -
【zookeeper学习笔记】| 十三、 Zookeeper健康检测未完待续
需要监控工具未完待续原创 2020-06-10 09:09:50 · 581 阅读 · 2 评论 -
【zookeeper学习笔记】| 十二、Zookeeper实现 - Master选举
一、介绍1、概述a:Master选举在分布式系统中是一个非常常见的场景。在分布式系统中,常常采用主从模式的方式避免单点故障,提高系统服务的可用性。b:正常情况下,Master节点用来协调集群中其他系统单元,维护系统状态信息,或者负责一些复杂的逻辑,再将处理结果同步给其他节点。当Master节点宕机,或者由于其他问题导致无法提供服务时,系统将发起一次Master选举,从候选节点中选出一个新的Master节点,以继续提供服务。2、场景在一些读写分离的应用中,Master节点负责客户端的写请求,原创 2020-06-10 09:09:10 · 273 阅读 · 0 评论 -
【zookeeper学习笔记】| 十一、Zookeeper实现分布式锁
一、概述1、Apache Curator是一个Zookeeper的开源客户端,它提供了Zookeeper各种应用场景(Recipe,如共享锁服务、master选举、分布式计数器等)的抽象封装,接下来将利用Curator提供的类来实现分布式锁。2、Curator提供的跟分布式锁相关的类有5个:Shared Reentrant Lock 可重入锁Shared Lock 共享不可重入锁Shared Reentrant Read Write Lock 可重入读写锁Shared Semaph原创 2020-06-10 09:08:24 · 232 阅读 · 0 评论 -
【zookeeper学习笔记】| 十、Zookeeper实现分布式锁
一、为什么需要分布式锁数据一致性是一个比较重要的话题,在单机环境中,我们可以通过Java提供的并发API来解决;而在分布式环境(会遇到网络故障、消息重复、消息丢失等各种问题)下要复杂得多,常见的解决方案是分布式事务、分布式锁等。二、实现分布式锁需要考虑的问题1、实现思路注意事项锁的可重入性(递归调用不应该被阻塞、避免死锁)锁的超时(避免死锁、死循环等意外情况)锁的阻塞(保证原子性等)锁的特性支持(阻塞锁、可重入锁、公平锁、联锁、信号量、读写锁)2、具体使用注意事项分布式锁原创 2020-06-10 09:07:48 · 295 阅读 · 0 评论 -
【zookeeper学习笔记】| 九、Zookeeper实现数据发布订阅
一、介绍1、所谓的数据发布/订阅,意思是发布者将数据发布到Zookeeper上的一个或一系列节点上,通过watcher机制,客户端可以监听(订阅)这些数据节点,当这些节点发生变化时,Zookeeper及时地通知客户端,从而达到动态获取数据的目的。2、场景配置中心graph LRA(修改发布)-->B(zookeeper配置中心)B(zookeeper配置中心)-->|通知|C[应用程序1]B(zookeeper配置中心)-->|通知|D[应用程序2]B(zookeepe原创 2020-06-10 09:06:38 · 470 阅读 · 0 评论 -
【zookeeper学习笔记】| 八、Zookeeper之Zab协议
一、介绍1、Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。2、Zab协议是为分布式协调服务Zookeeper专门设计的一种保证数据一致性的核心算法,Zab借鉴了Paxos算法。3、三种角色leader:领导人follower:追随者candidate:候选人3、流程图graph LRA(客户端)-->B(master)B(master)-->|广播proposal|C(follower)C原创 2020-06-10 09:05:43 · 208 阅读 · 0 评论 -
【zookeeper学习笔记】| 七、Curator 客户端与Zookeeper springboot集成
#logginglogging.pattern.console=[%d] [%level] [%X{xRequestId}] %logger - %m%n##ZooKeepercurator.namespace=zenawscurator.connectString=127.0.0.1:2181curator.sessionTimeoutMs=3000curator.connectionTimeoutMs=1000curator.enableListener=truecurator.ret原创 2020-06-09 08:29:57 · 227 阅读 · 0 评论 -
【zookeeper学习笔记】| 六 、Curator 客户端与Zookeeper 事件监听
一、watcher PathChildrenCachepackage com.hao.demo.zookeeper.distributecoordination;import lombok.extern.slf4j.Slf4j;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFr原创 2020-06-09 08:27:01 · 145 阅读 · 0 评论 -
【zookeeper学习笔记】| 五 、Curator 客户端与Zookeeper的简单操作
一、增、删、改、查package com.hao.demo.zookeeper.distributecoordination;import lombok.extern.slf4j.Slf4j;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.framework.imps原创 2020-06-09 08:25:43 · 182 阅读 · 0 评论 -
【zookeeper学习笔记】| 四 、Zookeeper 分布式协调服务watcher机制
一、介绍1、Zookeeper 引入watcher机制来实现发布/订阅功能,能够让多个订阅者同时监听某一个节点对象,当这个节点对象状态发生变化时,会通知所有订阅者。2、流程1)Zookeeper的watcher机制主要包括客户端线程、客户端WatchManager、Zookeeper服务器三个部分。2)工作流程简单描述:a:客户端在向Zookeeper服务器注册Watcher的同时,会将Watcher对象存储在客户端的WatchManager中;b:当Zookeeper服务器端触发Watc原创 2020-06-09 08:24:37 · 216 阅读 · 0 评论 -
【zookeeper学习笔记】| 三 、分布式协调服务介绍、zookeeper节点介绍
一、分布式系统的特征1、分布性:系统中的计算机在空间上随意分布和随时变动2、对等性:系统中的计算机是对等的,没有主从之分3、并发性:并发性操作是非常常见的行为4、缺乏全局时钟:系统中的计算机具有明显的分布性,且缺乏一个全局的时钟序列控制,所以很难比较两个事件的先后这个自己的理解 一个是网络延时、区域位置5、故障总是会发生:任何在设计阶段考虑到的异常情况,一定会在系统实际运行中发生,并且还会遇到很多在设计时未考虑到的异常故障二、认识Zookeeper1)zookeeper官方网站2)比较原创 2020-06-09 08:23:00 · 280 阅读 · 0 评论 -
【zookeeper学习笔记】|二、 简单操作
一、启动# zkServer.sh start# zkCli.sh -server 127.0.0.1:2181二、增、删、改、查create 创建一个节点,路径为 /test,内容为 data # create /test "data"ls 列出指定节点下的所有子节点 # ls /get 获取指定节点的数据内容和属性# get /testset 更新指定节点的数据内容#set /test "new test data"delete 删除节点#delete /test原创 2020-06-09 08:20:32 · 183 阅读 · 0 评论 -
【zookeeper学习笔记】| 一、安装
一、安装zookeeper官方文档1、安装jdk(省略)2、安装方式一 tar1、官网下载地址# cd /opt/zookeeper-3.4.12/conf# mv zoo_sample.cfg zoo.cfg3、安装方式二 yum# yum install wgetwget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz4、安装方式三、docker run 不需要原创 2020-06-09 08:18:26 · 190 阅读 · 0 评论 -
Zookeeper学习笔记、启动流程分析
这里主要完成配置的加载然后启动,阻塞,等待调用。这是主要配置类。原创 2020-05-06 18:19:03 · 109 阅读 · 0 评论