zookeeper

一,简介

 

  1.1:zk就是一个文件系统,不过与linux相比不同的是不只是叶子节点可以存放数据,节点变化时会通知客户端。

  1.2:节点类型:顺序持久化节点、持久化节点、顺序临时节点、临时节点

 

二,安装

 

三,命令

            ls:查看节点

       create /zkpro xxx:创建节点

 

       set /zk:修改节点

       get /zkpro:获取节点

       delete /zkpro:删除节点(有子节点的话要删除子节点)

四,监听通知机制

 

 

  4.1监听通知是如何实现的:通过观察者模式,变化了会调用监听回调方法。

  4.2为什么监听通知只发通知而不给变化的数据:数据不一定需要、压力大

五,集群

  5.1follower接受写请求会发请求发送给leader,然后leader再同步给follower。这样的好处是数据的一致性更改好控制。接收到请求后会生成全局唯一顺序事务id,leader只有收到半数以上follower的ack的消息后才会进行事物的提交。提交时会通知follower。

    

 

 

  5.2:选举的机制:选取事务id最大的节点、如果事务id一样的话用其他的指标如机器id决定。

六,常见面试题

  6.1  为什么集群一样要是奇数?

  :这样能够保证即便是集群分裂成了个个小集群也只有一个leader提供服务

  6.2  ZAB协议是什么?

  :1.发送数据给follower、2.等待follower的ack回应,过半提交、3.过半回应,执行提交命令,通知提交自己。

  6.3  从cap角度分析一下zk和eureka的区别?

  :zk严格保证一致性,eureka保证了可用性。

  6.4  脑裂是什么?

  :选出了多个leader

参考:https://www.toutiao.com/a6730379918980416007/

   

              

 

posted @ 2020-04-27 01:24  蓝领笑笑生  阅读(140)  评论(0编辑  收藏  举报