0071-每特教育学院蚂蚁课堂3期分布式解决方案锁解决基于redis方式实现_第1页
0071-每特教育学院蚂蚁课堂3期分布式解决方案锁解决基于redis方式实现_第2页
0071-每特教育学院蚂蚁课堂3期分布式解决方案锁解决基于redis方式实现_第3页
0071-每特教育学院蚂蚁课堂3期分布式解决方案锁解决基于redis方式实现_第4页
0071-每特教育学院蚂蚁课堂3期分布式解决方案锁解决基于redis方式实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分布式锁解决方案采用数据库 不建议 性能不好 jdbc基于 Redis 实现分布式锁(setnx)setnx 也可以存入 key,如果存入 key 成功返回 1,如果存入的 key 已经存在了,返回 0.基于 Zookeeper 实现分布式锁 Zookeeper 是一个分布式协调工具,在分布式解决方案中。多个客户端(jvm),同时在 zk 上创建相同的一个临时节点,因为临时节点路径是保证唯一,只要谁能够创建节点成功,谁就能够获取到锁,没有创建成功节点,就会进行等待,当锁的时候,采用事件通知给客户端重新获取锁的资源。Redis 实现分布式锁与 Zookeeper 实现分布式锁区别实现分布式锁最终

2、是通过什么方式?(相同点) 在集群环境下,保证只允许有一个 jvm 进行执行。从技术上分析(区别)Redis 是 nosql 数据,主要特点缓存Zookeeper 是分布式协调工具,主要用于分布式解决方案实现思路(区别)通过获取锁、锁、死锁问题获取锁Zookeeper多个客户端(jvm),会在 Zookeeper 上创建同一个临时节点,因为 Zookeeper 节点命名路径保证唯一,不允许出现重复,只要谁能够先创建成功,谁能够获取到锁。Redis多个客户端(jvm),会在 Redis 使用 setnx 命令创建相同的一个key,因为 Redis 的 key 保证唯一,不允许出现重复,只要谁能够

3、先创建成功,谁能够获取到锁。锁Zookeeper 使用直接关闭临时节点 ses会话连接,因为临时节点生命周期与 ses会话绑定在一块,如果ses会话连接关闭的话,该临时节点也会被删除。这时候客户端使用事件,如果该临时节点被删除的话,重新进入盗获取锁的步骤。Redis 在锁的时候,为了确保是锁的一致性问题,在删除的 redis 的key 时候,需要判断同一个锁的 id,才可以删除。共同特征:如何解决死锁现象问题Zookeeper 使用会话有效期方式解决死锁现象。Redis 是对 key 设置有效期解决死锁现象性能角度考虑因为 Redis 是 NoSQL 数据库,相对比来说 RedisZookeeper 性能要好。比可靠性从可靠性角度分析,Zookeeper 可靠性比 Redis 更好。因为 Redis 有效期不是很好控制,可能会产生有效期延迟,Zookeeper 就不一样,因

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论