作者:58沈剑 2020-09-01 07:36:29
系统
Linux
分布式 在分布式环境下,怎么访问临界资源,是互联网的一大难题。分布式锁就是一种解决方法。
创新互联公司是一家专注于成都网站设计、成都做网站与策划设计,扎鲁特旗网站建设哪家好?创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:扎鲁特旗等地区。扎鲁特旗做网站价格咨询:18980820575
一、起因
分布式环境下,多台机器上多个进程对一个数据进行操作,必然引起数据不一致的情况,比如“商品超卖”。那么在分布式环境下,怎么访问临界资源,是互联网的一大难题。分布式锁就是一种解决方法。
二、互斥原理
原理:多个访问方对同一个资源进行操作,需要进行互斥,通常是利用一个这些访问方同时能够访问到的lock来实施互斥的。
场景一
在同一个进程内,多个线程的互斥,我们可以通过加锁来进行串行化访问。
步骤:
画外音:锁是进程内的一个数据结构,将临界资源的冲突转变为对锁结构的冲突。
场景二
在分布式环境下,进程内的锁结构就无法作用于进程外了,所以多进程情况下怎么进行临界资源的保护呢?
结合进程内锁的机制,我们可以得出几点条件:
画外音:问题的关键在于找到同时只有一个进程访问成功的外部存储结构。
三、分布式锁
既然分布式锁的核心是选择合适的外部存储,那怎么选择“合适”的存储介质和存储模型就是我们思考的核心了。
那分布式锁用关系型存储还是KV存储?
从锁的角度来看,我们对它要求不多,KV存储足够。这样我们第一想到的就是Redis方案了,那是不是Redis方案就是最优方案呢?
Redis:单线程高性能的内存KV存储方案。
步骤:
从功能上,Redis完美的实现了分布式锁,那再深入一点。
分享标题:分布式锁,再深一点!!
文章路径:http://www.gawzjz.com/qtweb2/news43/9593.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联