
Zookeeper学习
不怕慢,就怕站
一点一点改变自己!
展开
-
Zookeeper中ZkClient的使用
1.ZkClient zkc =new ZKClient(new zkConnection(CONNECT_ADDR),10000);(1)create and delete方法 zkc.createEphemeral("/temp"); //创建临时节点 zkc.createPersistent("/super/c1",true); //创建持久化节点 zkc.dele...原创 2019-09-22 23:34:45 · 400 阅读 · 0 评论 -
Zookeeper入门笔记01
Zookeeper1.什么是Zookeper?zookeeper是一个高效的分布式协调服务设计目标:目标1:简单的数据结构目标2:可以构建集群,构建集群一般是3到5台,是奇数个,只要集群中超过一半的机器正常工作,那么集群就能正常对外提供服务。目标3:顺序访问目标4:高性能2.应用场景配置管理 集群管理 发布与订阅 数据库切换 分布式日志的收集 分布式锁、队列管理等3.集...原创 2019-09-22 22:12:25 · 178 阅读 · 0 评论 -
zookeeper开源客户端Curator典型应用场景之-消息队列(十二)
Curator框架也有分布式队列实现 。 利用ZK的PERSISTENT SEQUENTIAL(持久顺序)节点,可以保证放入到队列中的项目是按照顺序排队的。并且宕机重启并不丢失消息, 如果单一的消费者从队列中取数据, 那么它是先入先出的,这也是队列的特点。 如果你严格要求顺序,你就的使用单一的消费者,可以使用leader选举只让leader作为唯一的消费者。但是,我们在阅读官网的时候,发现每一...转载 2019-12-05 11:09:37 · 218 阅读 · 0 评论 -
zookeeper开源客户端Curator典型应用场景之-服务注册与发现(十一)
随着业务增加,以前简单的系统已经变得越来越复杂,单纯的提升服务器性能也不是办法,而且代码也是越来越庞大,维护也变得越来越困难,这一切都催生了新的架构设计风格 – 微服务架构的出现。微服务给我们带来了很多好处,例如:独立可扩展、易维护。但是随着应用的分解,微服务的引入,服务越来越多,业务系统与服务系统之间的调用,该架构的问题暴露出来:最明显的问题是所有的请求都需要nginx来转发,随着内部服务的...转载 2019-12-05 11:06:49 · 174 阅读 · 0 评论 -
zookeeper开源客户端Curator典型应用场景之-Master选举(十)
在生产环境中 ,一般要保证服务的高可用,有时候只需要选出一台机器来执行,其余机器处于备用状态,比如,在分布式系统中很常见的一个问题就是定时任务的执行。如果多台机器同时执行相同的定时任务,业务复杂则可能出现灾难性的后果。我使用的是当当网的elastic-job分布式定时任务框架,分一片,部署两台机器,其中一台处于备用状态,只有一台机器是工作的,当这台机器宕机了,备用机器才开始工作。分布式锁和Ma...转载 2019-12-05 11:02:40 · 158 阅读 · 0 评论 -
zookeeper开源客户端Curator典型应用场景之-分布式锁(九)
在分布式环境中 ,为了保证数据的一致性,经常在程序的某个运行点(例如,减库存操作或者流水号生成等)需要进行同步控制。以一个"流水号生成"的场景为例,普通的后台应用通常都是使用时间戳来生成流水号,但是在用户访问量很大的情况下,可能会出现并发问题。下面通过示例程序就演示一个典型的并发问题:public static void main(String[] args) throws Exception...转载 2019-12-05 11:00:42 · 139 阅读 · 0 评论 -
zookeeper开源客户端Curator异步API和事务API(七)
上一篇博客中 ,我们知道了如何使用Curator来创建会话,创建节点,删除节点,读取数据,更新数据和判断节点是否存在等操作在前面都使用了Curator框架提供的同步接口,原生API中基本上所有的操作都有提供异步操作,Curator也有提供异步操作的API。异步操作在使用以上针对节点的操作API时,我们会发现每个接口都有一个inBackground()方法可供调用。此接口就是Curator提...转载 2019-12-05 10:58:31 · 204 阅读 · 0 评论 -
zookeeper开源客户端Curator典型应用场景之-事件监听(八)
事件监听Zookeeper原生就支持通过注册Watcher来进行事件监听,但是其使用并不是特别方便,需要开发人员反复注册Watcher,比较繁琐。Curator引入了Cache来实现对zookeeper服务端事件的监听,Cache是Curator中对事件的包装,其对事件的监听其实可以近似的看做是一个本地缓存视图和远程Zookeeper视图的对比过程。同时Curator能够自动为开发人员处理反复注...转载 2019-12-05 10:53:38 · 170 阅读 · 0 评论 -
zookeeper开源客户端Curator介绍(六)
上一篇文章 介绍了zookeeper原生API的使用,使用过原生API不得不说,有很多的问题,比如:不能递归创建和删除节点、Watcher只能使用一次、还有很多可以解决分布式应用问题的api(比如分布式锁,leader选举等),但由于ZooKeeper提供的原始API并不是很易用,在其基础上封装一些高级应用又是一件很复杂的事情。这个时候,Curator出现了,Curator是Netflix公司开...转载 2019-12-02 17:37:34 · 281 阅读 · 0 评论 -
使用java操作zookeeper(五)
之前使用的客户端是3.4.6,后来换成了3.5.3-beta 版本,前面的知识中也有对3.5.x一些知识点的补充,往后的客户端版本都使用该版本,下面的介绍也是基于3.5.3-beta的。参考官网http://zookeeper.apache.org/doc/r3.5.3-beta/api/org/apache/zookeeper/ZooKeeper.htmljava操作zookeeperp...转载 2019-12-02 17:35:54 · 383 阅读 · 0 评论 -
Zookeeper节点ACL权限设置(四)
官网地址http://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#sc_ZooKeeperAccessControl概述ACL全称为Access Control List(访问控制列表),用于控制资源的访问权限。ZooKeeper使用ACL来控制对其znode(ZooKeeper数据树的数据节点)的访问。ACL实现与U...转载 2019-12-02 17:28:14 · 187 阅读 · 0 评论 -
zookeeper单机、集群搭建(二)
前提条件 下载zookeeper-3.4.6.tar.gz 安装JDK单机搭建过程1.将zookeeper-3.4.6.tar.gz上传到服务器2.在usr/local目录下创建zookeeper文件夹 mkdir /usr/local/zookeeper3.解压zookeeper-3.4.6.tar.gz tar -zxf zook...转载 2019-12-02 16:12:12 · 104 阅读 · 0 评论 -
zookeeper简介(一)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声...转载 2019-12-02 16:00:33 · 166 阅读 · 0 评论 -
zookeeper常用命令(三)
上一篇博客讲了如何安装单机zk和集群搭建,本章来学习zookeeper常用命令。常用shell脚本操作命令shell脚本在zookeeper安装根目录的bin/路径下。启动zk : bin/zkServer.sh start查看ZK服务状态: bin/zkServer.sh status停止ZK服务: b...转载 2019-12-02 16:58:49 · 206 阅读 · 0 评论