zookeeper
文章平均质量分 59
分布式协调服务
Chasing__Dreams
这个作者很懒,什么都没留下…
展开
-
zookeeper--基础知识点--11--zk与nginx负载均衡对比
Nginx/ZooKeeper 负载均衡的差异转载 2021-05-06 09:47:44 · 523 阅读 · 0 评论 -
zookeeper--基础知识点--11--zk分布式锁
Zookeeper实现分布式锁转载 2021-05-05 22:09:58 · 115 阅读 · 0 评论 -
zookeeper--基础知识点--10--ZAB协议
1 概念全称:Zookeeper Atomic Broadcast定义:ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持 崩溃恢复 和 原子广播 协议。2 作用作用:保证当leader崩掉且新的leader选出后,所有的followers中的数据与新的leader中的数据保持最终一致(最终一致性)。zab协议只是保持数据最终一致性的一部分,除此之外还有2PC (1 预提交 2 ack 3 commit)过半机制(3, 2台ack),也就是投票机制[1] 选举lead原创 2021-02-20 16:34:16 · 233 阅读 · 0 评论 -
zookeeper--基础知识点--9--数据一致性
本文描述不一定准确,还需后续完善1 数据一致性1.1 一致性提到分布式架构就一定绕不开“一致性”问题,而“一致性”其实又包含了数据一致性和事务一致性两种情况,本文主要讨论数据一致性(事务一致性指ACID)。数据一致性:在分布式架构中,都具有保证数据一致性的机制,即确保主从服务器中的数据保持一致。比如:如果只用一台数据库来处理所有的写入和读取请求,就一定不存在数据一致性的问题。 但在中大型项目中,我们却经常需要将一份数据存储在超过一台数据库中(即复制)。1.2 在大中型项目中,为什么使用分布式架构?转载 2021-02-21 08:31:45 · 294 阅读 · 0 评论 -
zookeeper--基础知识点--8--监听器原理
转载 2021-02-20 15:15:56 · 96 阅读 · 0 评论 -
zookeeper--基础知识点--7--zookeeper四种状态
zookeeper集群中server的四种状态:(1) looking:刚启动zookeeper时,正在进行选举leader的过程的server所处状态(2) leading:已被选举为leader后的server所处状态(3) following: 成为follower后的server所处状态(4) observing : 在一个很大的集群中,没有投票权的server所处状态observer相关问题:(1) 为什么引入observer?为了提高客户端从集群读数据的能力,对集群进行扩大。原创 2021-02-20 15:29:03 · 1576 阅读 · 0 评论 -
zookeeper--基础知识点--6--四字命令
zookeeper支持很多特定的命令来和它交互,主要是用来查询zookeeper的信息 。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令1 四字命令序号命令说明1echo stat|nc 127.0.0.1 2181来查看哪个节点被选择作为follower或者leader2echo ruok|nc 127.0.0.1 2181测试是否启动了该Server,若回复imok表示已经启动。3echo dump| nc 127.0转载 2021-02-09 14:55:52 · 1110 阅读 · 1 评论 -
zookeeper--基础知识点--5--ACL
ACL:Access Control List 访问控制列表1 ACL构成ACL 权限控制,使用:scheme : id : perm 来标识,主要涵盖 3 个方面:权限模式(Scheme):授权的策略授权对象(ID):授权的对象权限(Permission):授予的权限2 ACL 特性ZooKeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限每个znode支持设置多种权限控制方案和多个权限子节点不会继承父节点的权限,客户端无权访问某节点,但可能可以访问它的子节点原创 2021-02-09 14:10:01 · 691 阅读 · 0 评论 -
zookeeper--基础知识点--4--zk客户端命令
0 所有zk客户端命令此处使用的是3.6.2版本,不同版本命令稍有不同[zk: localhost:2181(CONNECTED) 1] helpZooKeeper -server host:port -client-configuration properties-file cmd args addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSIS原创 2021-02-09 14:43:24 · 623 阅读 · 0 评论 -
zookeeper--基础知识点--3--zoo.cfg
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:1.tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)2.initLimit =10:LF初始通信时限集群中的Followe转载 2021-02-07 20:45:02 · 223 阅读 · 0 评论 -
zookeeper--基础知识点--2--安装部署
1 单机1.1 JDK 环境检查[root@lighthouse lighthouse]# java -versionjava version "1.8.0_201"Java(TM) SE Runtime Environment (build 1.8.0_201-b09)Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)1.2 下载并解压 zookeeper下载页面:https://zookeeper.apache原创 2021-02-07 20:11:35 · 204 阅读 · 0 评论 -
zookeeper--基础知识点--1--概述
Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的 Apache 项目;1 工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。2 Zookeeper 特点Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。集群中只要有半数以上转载 2021-02-07 19:28:56 · 245 阅读 · 0 评论