zookeeper
WQ同学
这个作者很懒,什么都没留下…
展开
-
ZooKeeper源码解析:Leader选举
Leader选举又称为master选举是zookeeper中最为经典的应用场景了。那为什么需要leader 选举呢。ZooKeeper需要在所有的服务(可理解为服务器)中选举出一个Leader,然后让这个Leader来负责管理集群。此时,集群中的其他服务器则成了此Leader的follower。并且,当Leader出现故障的时候,ZooKeeper要能够快速地在Follower中选举出下一个Le...原创 2020-03-21 14:35:13 · 359 阅读 · 0 评论 -
zookeeper源码解析: 分布式锁
我所了解到的, 目前分布式锁主要有三种实现方式:1是数据库,2是redis,3 是zookeeper 本文主要介绍下zookeeper 是如何实现分布式锁,已经做一点相关的源码解析。下面描述使用zookeeper实现分布式锁的算法流程,假设存在一个/lock 的根节点。客户端连接zookeeper,并在/lock下创建临时的且有序的子节点,第一个客户端对应的子节点为/lock/lock-0...原创 2020-03-08 17:37:18 · 212 阅读 · 0 评论 -
zookeeper源码解析:分布式队列
由于zookeeper 的分布式一致性的特点 zk也可以用来实现分布式的队列:一般适合于数据量比较小对一致性要求比较高的,如果数据量大的推荐使用kafka,因为zk 本身不适合高并发的读写。具体结构什么样子的呢 如下: 网上找了一个图使用路径/queue下的znode节点表示队列中的元素,图上的节点都是持久化的顺序节点,这些znode 名字的后缀数字代表位置 位置越小越靠前。那么具体怎...原创 2020-03-07 11:46:40 · 242 阅读 · 0 评论 -
编译zookeeper源码
一般学习 某个框架基本都是从编译源码开始的, 于是那就来吧首先先clone 官方的源码 https://github.com/apache/zookeeper.git放到idea 编译mvn clean package -Dmaven.test.skip=true这个时候发现抱错了为什么有个git.properties 比较奇怪看报错的原因,似乎是有部分代码使用了resource...原创 2020-03-06 20:19:53 · 1780 阅读 · 2 评论 -
zookeeper 架构解析
Zookeeper 总计结构应用使用zookeeper 客户端使用zookeeper 服务。 Zookeeper 客户端负责和zookeeper 集群交互。 Zookeeper 集群可以有两种模式: standalone 和 quorum 模式。 处于standalone 模式的zookeeper 集群还有一个独立运行的zookeeper 节点。处于quorum 模式的zookeeper 集群...原创 2020-03-01 10:08:13 · 193 阅读 · 0 评论 -
Zookeeper服务的使用
1.简介应用通常使用的是zookeeper 客户端的服务。 zookeeper 客户端负责和zookeeper 服务端进行交互。2.数据模型Zookeeper 的数据模型是层次模型。 层次模型常见于文件系统. Zookeeper 使用文件系统模型主要基于以下两点考虑。文件系统的树形结构便于表达数据之间的层次关系。文件系统的属性结构便于为不同的应用分配独立的命名空间Zookeeper的...原创 2020-02-29 22:21:05 · 188 阅读 · 0 评论 -
zookeeper 是什么
Zookeeper 是一个开源的分布式协同服务系统。 Zookeeper的设计目标是将那些复杂且容易出错的分布式协同服务封装起来,抽象出一个高效可靠的程序集,并以一系列简单的接口提供和用户使用。常用的典型应用场景有:配置管理DNS服务组成员管理各种分布式锁zookeeper 适用于存储和协同相关的关键数据 不适合用于大数据量的存储...原创 2020-02-29 21:07:30 · 201 阅读 · 0 评论 -
从 paxos 到 zookeeper(五):paxos算法
1.概述paxos 算法 是莱斯利,兰伯特 于1990 年提出的一种基于消息传递且具有高度容错性一致性算法,是目前公认的解决分布式一致性最有效的算法之一。在常见的分布式系统中总会发生类似于宕机,网络异常等等问题,paxos 算法就是要在分布式系统中发生上述问题的时候,快速且正确在集群内部对某个数据达成一致。2.详解在paxos算法中,分为4种角色:Proposer :提议者Accep...转载 2018-12-16 16:52:53 · 2763 阅读 · 0 评论 -
从 paxos 到 zookeeper(三):2PC
一.简介为了解决分布式一致性的问题,在长期的探索和研究的过程中,涌现了一大批经典的一致性协议和算法,其中最著名的就是二阶段提交协议,三阶段提交协议和paxos算法了。在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行事务操作过程中的结果是成功或者失败,但却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引...转载 2018-11-24 22:34:00 · 2790 阅读 · 0 评论 -
从 paxos 到 zookeeper(四):3PC
一.简介在上一篇中,我们讲解到了二阶段提交协议的设计和实现原理,并明确指出了其在实际运行过程中可能存在的诸如同步阻塞,协调者的单点问题,脑裂和太过保守的兼容机制等缺陷,因此研究者在二阶段提交协议的基础上进行的改进,提出了三阶段的提交协议。3PC, 即三阶段提交协议,是2pc的改进版,其讲二阶段提交协议提交事务请求过程一分为二形成了由canCommit,preCommit 和doCommit,...转载 2018-11-25 22:36:55 · 2670 阅读 · 0 评论 -
从 paxos 到 zookeeper(二):从ACID到CAP/BASE
1.1简介在上一篇文章中,我们讲解到集中式和分布式系统各自的特点,同时也看到了在从集中式架构到分布式架构变迁中碰到的一系列的问题。接下来将要看看分布式系统事务处理与数据一致性上遇到的种种挑战。1.2 ACID事务是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元,狭义上的事务特指数据库事务。一方面,当多个应用程序并发的访问数据库时,事务可以在这些应用程序之间提供一个隔离方...转载 2018-11-08 22:10:19 · 2870 阅读 · 0 评论 -
从 paxos 到 zookeeper(一):分布式架构之从集中式到分布式
1.1 序言随着计算机系统规模变得越来越大,将所有的业务单元集中部署在一个或者若干个大型机上的体系结构,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出现,越来越多的廉价的PC机成为了各大企业IT架构的首选,分布式的处理方式越来越受到业界的青睐-----计算机系统正在经历一场前所未有的从集中式向分布式架构的变革。1....转载 2018-10-23 07:44:38 · 2784 阅读 · 0 评论 -
搭建zookeeper 集群
文章地址http://www.haha174.top/article/details/251874wget http://download.nextag.com/apache/ zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gzDecompressing package: tar -zxvf zookeeper-3.4.10.tar.g...原创 2018-01-21 13:56:22 · 2823 阅读 · 0 评论