Zookeeper
文章平均质量分 92
Zookeeper 是一个分布式服务框架,主要是用来解决分布式应用中遇到的一些数据管理问题如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
Young丶
这个作者很懒,什么都没留下…
展开
-
ZooKeeper 用的好好地,Kafka 为什么要抛弃 ZooKeeper?
可能看到这里有人会说,那为何一开始不这么实现?因为 ZooKeeper 是一个功能强大且经过验证的工具,在早期利用它来实现一些功能,多简单哟,都不需要自己实现。要不是 ZooKeeper 的机制导致了这个瓶颈,也不可能会有这个改造的。软件就是这样,没必要重复造轮子,合适就好。参考资料:原创 2023-05-23 10:15:00 · 45024 阅读 · 1 评论 -
万字总结Zookeeper客户端Curator操作Api
curator是Netflix公司开源的⼀套Zookeeper客户端框架,和ZKClient⼀样,Curator解决了很多 Zookeeper客户端⾮常底层的细节开发工作,包括连接重连,反复注册Watcher和 NodeExistsException异常等,是最流⾏的Zookeeper客户端之⼀。从编码风格上来讲,它提供了基于 Fluent的编程风格⽀持打开,我们可以看到,Curator包含了以下几个包:curator-framework:对zookeeper的底层api的一些封装;原创 2023-04-19 09:45:00 · 44909 阅读 · 0 评论 -
Zookeeper实战之客户端Curator vs zkClient
ZkClient是一个开源客户端,在Zookeeper原生API接口的基础上进行了包装,更便于开发人员使用。zkClient客户端,在一些著名的互联网开源项目中,得到了应用,比如:阿里的分布式dubbo框架,对它进行了集成使用。zkClient解决了Zookeeper原生API接口的很多问题。比如,zkClient提供了更加简洁的api,实现了session会话超时重连、Watcher反复注册等问题。虽然ZkClient对原生API进行了封装,但也有它自身的不足之处。原创 2023-04-18 07:30:00 · 40646 阅读 · 0 评论 -
Zookeeper六大应用场景详解
在通常的Java开发编程中,有两种常⻅的⽅式可以用来定义锁,分别是synchronized机制和JDK5提供的 ReentrantLock。和排他锁⼀样,同样是通过 ZooKeeper 上的数据节点来表示⼀个锁,是⼀个类似于 “/shared_lock/[Hostname]-请求类型-序号”的临时顺序节点,例如。原创 2023-04-06 11:50:14 · 42518 阅读 · 0 评论 -
java分布式锁解决方案 redisson or ZooKeeper
redis 分布式锁Redisson 是 redis 官方推荐的Java分布式锁第三方框架。高效分布式锁当我们在设计分布式锁的时候,我们应该考虑分布式锁至少要满足的一些条件,同时考虑如何高效的设计分布式锁,这里我认为以下几点是必须要考虑的。1、互斥在分布式高并发的条件下,我们最需要保证,同一时刻只能有一个线程获得锁,这是最基本的一点。2、防止死锁在分布式高并发的条件下,比如有个线程获得锁的同时,还没有来得及去释放锁,就因为系统故障或者其它原因使它无法执行释放锁的命令,导致其它线程都无法获得锁,原创 2022-01-12 09:42:25 · 2182 阅读 · 0 评论 -
Zookeeper 的典型应用场景场景
Zookeeper作为一种协调分布式应用高性能的调度服务,实际的应用场景也非常的广泛,这里主要通过几个例子来具体的说明Zookeeper在特定场景下的使用方式(下面的这些功能估计consul和etcd也能实现,以后学到了再说吧)。2.1.一致性配置管理我们在开发的时候,有时候需要获取一些公共的配置,比如数据库连接信息等,并且偶然可能需要更新配置。如果我们的服务器有N多台的话,那修改起来会特别的麻烦,并且还需要重新启动。这里Zookeeper就可以很方便的实现类似的功能。2.1.1.思路将公共的配转载 2021-10-21 10:27:52 · 1171 阅读 · 0 评论 -
【ZooKeeper】集群安装与配置
单机模式下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:tickTime=2000 dataDir=/Users/apple/zookeeper/data dataLogDir=/Users/apple/zookeeper/logs clientPort=4180 参数说明:tickTime: zookeeper中使用的基本时间单位, 毫秒值.dataDir: 数据目录. 可以是任意目录.d原创 2021-03-10 17:04:32 · 1191 阅读 · 0 评论 -
【ZooKeeper】配置文件详解
ZooKeeper的配置文件详解zkServer.sh读取的默认配置文件是$ZOOKEEPER_HOME/conf/zoo.cfg。如果要用其它配置文件。如下传递配置文件参数:zkServer.sh start your_configzkServer.sh stop your_configzkServer.sh status your_config配置文件的官方说明:https://zookeeper.apache.org/doc/r3.6.2/zookeeperAdmin.html#sc原创 2021-03-10 15:46:10 · 5451 阅读 · 0 评论 -
【Zookeeper】Zookeeper一致性协议——ZAB
Zookeeper一致性协议——ZABZAB协议简介Zookeeper通过ZAB保证分布式事务的最终一致性。ZAB全称Zookeeper Atomic Broadcast(ZAB,Zookeeper原子消息广播协议)ZAB是一种专门为Zookeeper设计的一种支持 崩溃恢复 的 原子广播协议 ,是Zookeeper保证数据一致性的核心算法。ZAB借鉴了Paxos算法,但它不是通用的一致性算法,是特别为Zookeeper设计的。基于ZAB协议,Zookeeper实现了⼀种主备模式的系统架构来保持原创 2021-03-10 15:19:51 · 1349 阅读 · 0 评论 -
【Zookeeper】Zookeeper集群“脑裂”问题处理大全
本文重点分享Zookeeper脑裂问题的处理办法。ZooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调内核,用户可以在此之上构建更多复杂的分布式协调功能。脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群。而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Leader节点。一、 Zookeeper集群节点为什么要部署成奇数Zookeeper容错指的是当宕掉几个原创 2021-03-10 14:01:38 · 991 阅读 · 1 评论 -
【Zookeeper进阶】大白话解释Zookeeper的选举机制
Zookeeper 是一个分布式服务框架,主要是用来解决分布式应用中遇到的一些数据管理问题如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。我们可以简单把 Zookeeper 理解为分布式家庭的大管家,那么管家团队是如何选出Leader的呢?好奇吗,接下来带领大家一探究竟。人类选举的基本原理讲解 Zookeeper 选举过程前先来介绍一下人类的选举。我们每个人或多或少都经历过几次选举,在投票的过程中可能会遇到这样几种情况:情况1:自己与几个候选人都比较熟,你会将票投给你认为能力.转载 2021-03-10 13:25:03 · 485 阅读 · 0 评论 -
【Zookeeper实战】Zookeeper入门到实战看这篇就够了
1. 前言在上一篇【Zookeeper入门】相关概念总结 中已经完美的讲解了 Zookeeper入门 相关概念总结,接下来讲讲ZooKeeper 实战使用。这篇文章简单给演示一下 ZooKeeper 常见命令的使用以及 ZooKeeper Java客户端 Curator 的基本使用。介绍到的内容都是最基本的操作,能满足日常工作的基本需要。如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!2. ZooKeeper 安装和使用2.1.1 linux 安装 zookeeperStep原创 2021-03-10 12:01:56 · 746 阅读 · 0 评论 -
【Zookeeper入门】相关概念总结
1. 前言相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。前几天,总结项目经验的时候,转载 2021-03-10 11:23:54 · 516 阅读 · 1 评论