Zookeeper
Forest24
keep learning...
展开
-
zookeeper实现分布式锁
思考:分布式锁实现的逻辑1.争抢锁,只有一个线程可以获得锁。2.获得锁的线程挂了,产生死锁。解决:使用临时节点(伴随客户端的session,session删除时临时节点也会删除)。3.获得锁的线程执行成功,释放锁。4.上面两点,锁被删除或者释放,其他线程如何知道。(1.主动轮询,弊端:延迟,压力 。 2.watch,解决延迟问题,弊端:压力)5.sequence(序列节点)...原创 2020-03-14 16:26:22 · 207 阅读 · 0 评论 -
zookeeper实现分布式配置
zookeeper实现分布式配置:服务器向zookeeper去get或者watch,当配置产生修改时,zookeeper会回调服务器。//自己想要管理的配置public class MyConf { private String conf ; public String getConf() { return conf; } p...原创 2020-03-14 10:55:09 · 178 阅读 · 0 评论 -
zookeeper API开发基础
public static void main(String[] args) { /**zk是有session概念的,没有连接池的概念 * 第一类:new zk 时候,传入的watch,这个watch,session级别的,跟path 、node没有关系。 * 这里设置的3秒,是当客户端连接的zkServer挂了之后,3秒后集群中删除此ses...原创 2020-03-12 22:07:39 · 173 阅读 · 0 评论 -
zookeeper原理知识之Paxos算法
先说Paxos,它是一个基于消息传递的一致性算法,Leslie Lamport在1990年提出,近几年被广泛应用于分布式计算中,Google的Chubby,Apache的Zookeeper都是基于它的理论来实现的,Paxos还被认为是到目前为止唯一的分布式一致性算法,其它的算法都是Paxos的改进或简化。有个问题要提一下,Paxos有一个前提:没有拜占庭将军问题。就是说Paxos只有在一个可信的计...原创 2020-03-12 22:00:33 · 124 阅读 · 0 评论 -
zookeeper基础
zookeeper:分布式应用程序的分布式协调服务每个客户端连到zk的时候,都有一个session代表这个客户端zookeeper的数据保存在内存中。每个节点存的数据大小有限制,1MB临时节点上的数据是伴随着session的,客户端退出->session被回收->临时节点消失。事务id:集群中共享,每台zk server发生增改时,事务id加1。...原创 2020-03-10 23:02:56 · 111 阅读 · 0 评论