Zookeeper
七八月份的太阳
厚积薄发
展开
-
Zookeeper 四 分布式锁
是时候用我们之前学习的知识实践一波了!使用Zookeeper实现一个分布式锁,思路:利用带序号断开连接自动消失的特性来实现分布式锁,如果当前节点为最小节点则获取锁,否则监听上一个节点如果上个节点下线则获取锁,有点类似链表。只链接自己前面的节点,如果前面没有节点则自己为链表头。优点:可能大家用的最多的是redis分布式锁这个很好理解,但是有个缺点就是一定要客户端去拉取状态,如果不需要等待...原创 2020-04-09 22:34:10 · 652 阅读 · 0 评论 -
Zookeeper 三 代码测试
golang 代码测试:使用:"gozookeeper/internal"package internalimport ( "fmt" "github.com/samuel/go-zookeeper/zk" "time")type ZkUtil struct { conn *zk.Conn}func (zkUtil *ZkUtil) Init(servi...原创 2020-04-02 23:34:33 · 617 阅读 · 0 评论 -
Zookeeper 二 stat、listener
Stat结构体cZxid:创建节点的事物 id 每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事物ID。 事物ID是ZooKeeper中所修改总的次序。每个修改都有唯一的Zxid,如果zxid1小于zxid2,那么zxid1在zxid之前发生ctime: znode呗创建的毫秒数mzxid:z...原创 2020-03-30 23:25:13 · 262 阅读 · 0 评论 -
Zookeeper 一 基础知识以及简单命令
Zookeeper工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察着的注册,一旦这些数据的状态发生变化,Zookeeper讲讲负责通知已经在Zookeeper上注册的那些观察者作出响应的反应。Zookeeper特点一个领导者(Leader),多个跟随者(Follower)组成的集群 集群中只要有半...原创 2020-03-29 23:16:25 · 764 阅读 · 0 评论