others linux服务器运维 django3 监控 k8s golang 数据库 大数据 前端 devops 理论基础 java oracle 运维日志

分布式锁实现

访问量:1766 创建时间:2020-12-30

类cas自旋式分布式锁询问的方式 尝试加锁 (对锁provider io较多) CAP模型属于AP,可用性 , 无一致性算法 , 性能好---mysql redis event事件通知后续锁的变化 轮训向外的过程(对锁provider io较少) CAP模型属于CP,一致性 , ZAB一致性算法实现 , 稳定性好 --- zk etcd

zk :增删改 入口是leader节点,两阶段提交,过半节点通过,性能低于redis(数据通信同步过程),leader选举先看谁的数据新,数以一样新看server ID大小决定谁是leader. session : 客户端连接后会产生session,session会同步到zk其他节点。 path node: 持久节点(客户端创建后永远存在),临时节点node会绑定session,客户端连着就不删除,客户端不连着了出问题,就删除。 watch: 监控回调,监控节点事件,例如节点的delete ,create,change ,通过锁的变化回调需要加锁的client,client再去抢锁。

登陆评论: 使用GITHUB登陆