zookeeper知识点

zookeeper知识点

  1. zookeeper是什么?
    zookeeper是一个分布式协调服务的开源框架,为分布式程序提供协调服务,同时用来解决分布式集群中应用系统的数据一致性
    zookeeper的本质是一个分布式的小文件存储系统,以目录树方式存储数据,对树中的节点进行管理,从而维护监控存储节点的状态变化,达到基于数据的集群管理目的。
  2. zookeeper的特点:
    一个领导者,多个跟随着组成的集群
    集群中只要有半数以上的节点存储,zookeeper的集群就能正常使用
    全局一致:每个server保存一副相同的数据副本,client无论连接到那个serve,数据都是一致的
    可靠性:如果消息被其中一台服务器接收,那么将被所有服务器接受。
    顺序性:跟新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行。
    数据更新原子性:一次数据更新要么成功要么失败,不存在中间状态,
    实时性:zookeeper保证client在一定事件间隔范围内获取服务器的跟新信息,或者服务器的失效信息
  3. zookeeper上的节点有哪些?
    总体上分为2类,细分为4类:
    持久节点:客户端和服务器断开链接后,创建的节点不会被删除
    临时节点:客户端和服务器断开链接后,创建的节点会被删除
    持久化目录节点
    持久顺序编号目录节点
    临时化目录节点
    临时顺序编号目录节点
  4. 请简述ZooKeeper的选举机制?

假设目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5,按编号依次启动,它们的选举过程如下:
服务器1启动,给自己投票,然后发投票信息,由于其它机器还没有启动所以它收不到反馈信息,服务器1的状态一直属于Looking。
服务器2启动,给自己投票,同时与之前启动的服务器1交换结果,由于服务器2的编号大所以服务器2胜出,但此时投票数没有大于半数,所以两个服务器的状态依然是LOOKING。
服务器3启动,给自己投票,同时与之前启动的服务器1,2交换信息,由于服务器3的编号最大所以服务器3胜出,此时投票数正好大于半数,所以服务器3成为Leader,服务器1,2成为Follower。
服务器4启动,给自己投票,同时与之前启动的服务器1,2,3交换信息,尽管服务器4的编号大,但之前服务器3已经胜出,所以服务器4只能成为Follower。
服务器5启动,后面的逻辑同服务器4成为Follower。

  1. 请简述zookeeper数据的写流程?
    client向zookeeper的server1写数据,发送一个写请求。
    如果server1不是leader那么Server1会把接受到的这个事务请求进一步转发给Leader。Leader会将写请求广播给各个Server,各个Server写成功后,会向Leader发送成功信息。
    当Leader收到半数以上(大多数) Server数据写成功的信息,说明该数据写成功了。Leader会告诉server1数据写成功了.
    Server1会进一步通知 Client 数据写成功了,就认为整个写操作成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值