Zookeeper:是树形结构,由节点组成,每个节点都可以用来存储数据。
监听器:注册在节点上,curator引入了cache来实现对zookeeper服务端的监听,就是当节点发生变化的时候,监听器能够感知到这个变化,然后执行所需要的操作。
分布式锁:解决跨机器的进程之间的数据同步问题。
1.客户端需要锁,就创建临时的顺序的节点,使用后删除。
2.多条线程在某个节点创建子节点,拿到最小序号节点的线程就相当于拿到了锁,拿到锁的线程执行完以后释放锁,再重新创建子节点。
3.没有拿到锁的线程,会通过监听器来监听序号比自己小一位的线程,等那条线程执行完之后拿锁
Zookeeper集群:一般设置奇数台服务器,方便选出leader,zookeeper之间是相互通信的,获得半数以上选票就会成为leader。
Leader:处理事务,集群内服务器的调度
超半数以上服务器挂掉或者投票选举期间集群不可用