首页 > 其他 > 详细

分布式

时间:2020-08-09 09:22:43      阅读:57      评论:0      收藏:0      [点我收藏+]

Zookeeper实现分布式锁

  • Zookeeper的节点递增性,可以规定节点编号最小的那个获得锁。
  • 节点的监听机制可以保证占有锁的方式有序且高效。
  • 避免羊群效应(节点挂掉时,所有节点监听)。
  • CAP原则

Redis实现分布式锁

  • Redisson框架中的类库实现,性能较高。
  • setnx [key] [value]实现分布式锁
  • 通过设置过期时间expire解决setnx长期有效的问题(原子性得不到满足)
  • set [key] [value] [EX seconds] [PX milliseconds] [NX|XX]:NX键不存在时操作;XX键存在时操作
  • 机制:加载锁(锁不存在则加锁);锁互斥(不包含客户端id则循环等待);watch dog自动延期;可重入加锁;释放锁。
  • C AP原则

分布式锁特点

  • 互斥性:任意时间只能有一个客户端获取锁。
  • 安全性:锁不能由其他客户端删除。
  • 死锁:机制避免。
  • 容错:宕机时仍能释放和获取锁。

分布式系统的CAP原则

  • Consistency:一致性,更新复制到整个分布式系统,以保证数据的最终一致。
  • Availablity:可用性,服务一直可用
  • Partiton Torerant:分区容错性,分布式系统在遇到某节点或网络分区故障时,能够对外提供一致性或可用性的服务。

2pc和3pc

  • 2pc(阻塞,协调者单点问题):提交请求阶段,参与者将结果通知协调者;提交阶段,协调者根据反馈决定是否提交。
  • 3pc(降低阻塞范围,避免了协调者单点问题):CanCommit阶段,询问是否可以提交;PreCommit,可以则预提交,否则中断事务;Do Commit,提交。

分布式

原文:https://www.cnblogs.com/ash1523590342/p/13461598.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!