主备系统模式
原理
使用分布式锁实现主备节点系统。通过对分布式锁进行续期,保持长期锁, 从而使当前服务节点处于主服务节点
无法获取分布式锁的服务节点,则作为备选节点, 当主节点下线或异常,分布式锁被释放或无法正常续期, 则其中备选节点会成为主节点
注册策略
锁竞争遵循公平策略,根据抢占分布式锁的顺序, 先抢占锁的进程先获取锁
流程
-
CAS事务: 抢占
prefix
前缀的锁, 当leaseId 与 当前客户端的leaseId 相同, 则当前进程为主节点 -
抢占锁失败, 依据
Revision
值 进行排队。当主节点释放锁, 将从下一个Revision
的进程节点成为主节点