为啥需要分布式锁??

为啥需要分布式锁??

前言

​ 最近我产生了很多的好奇,之前在学习一门技术的时候,总想着怎么去使用它,会怎么使用就完事了。到现在才发现,理清一个技术的来龙去脉才是最主要的。为啥需要这项技术?不要这项技术会发生啥?这项技术是必须要的吗?这项技术(思想)的产生对我们的系统带来了哪些改变?**我想,这应该才是学习一门新技术的正确思想导向。话不多少,上重点,为啥需要分布式锁??

传统的单体系统

图解:传统锁

从图中可以看出,传统的单体应用模式的锁是直接在服务端的代码中实现。使用lock,synchronized来控制并发请求,完全是没有任何问题的。接下来再看看目前的系统架构。

目前的分布式系统

图解:在这里插入图片描述

从上图可以看出,在分布式背景下,假如多个客服端访问同一个业务逻辑,负载均衡器刚好将请求分发到三个服务器上,且同时执行,是不是就已经产生线程安全问题了呢?即使每个服务器都有lock,synchronized来锁,但是你总不能锁A的时候,又去锁B吧,代码写在A中的,怎么可能去锁B呢?所以这就是问题产生的原因。但是,我非要实现线程安全怎么办呢??

分布式锁的产生

图解:在这里插入图片描述

当有大量请求的时候,为了保证同一时间只执行一个业务逻辑,这个时候就需要服务器(redis/zookeeper)来统筹兼顾这个分布式集群。

结论

​ 分布式锁存在的意义就在于处理分布式下锁安全的问题,类似的还有分布式session等等。希望篇幅不长的文章对大家有点帮助!谢谢大家!!!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值