这才是真正的分布式锁

  1. 云栖社区>
  2. 阿里云MVP>
  3. 博客>
  4. 正文

这才是真正的分布式锁

子夜初商南 2019-08-14 00:26:12 浏览661
展开阅读全文

技术领域,我觉得了解来龙去脉,了解本质原理,比用什么工具实现更重要:

(1)进程多线程如何互斥?

(2)一个手机上两个APP访问一个文件如何互斥?

(3)分布式环境下多个服务访问一个资源如何互斥?

归根结底,是利用一个互斥方能够访问的公共资源来实现分布式锁,具体这个公共资源是redis来setnx,还是zookeeper,相反没有这么重要。

言归正传,今天把昨天文章的缘起讲一讲,并通过Google Chubby的论文阅读笔记聊一聊分布式锁。

一、需求缘起

58到家APP新上线了导入通讯录好友功能,测试的同学发现,连续点击导入会导入重复数据:
image.png

客户端同一个用户同时发出了多个请求,分布式环境下,多台机器上部署的多个service进行了并发操作,故插入了冗余数据。

解决思路:同一个用户同时只能有一个导入请求,需要做互斥,最简易的方案,使用setnx快速解

网友评论

登录后评论
0/500
评论
子夜初商南
+ 关注
所属云栖号: 阿里云MVP