什么是分布式锁?为什么用分布式锁?有哪些常见的分布式锁?

什么是分布式锁?为什么用分布式锁?有哪些常见的分布式锁?,第1张

什么是分布式锁?为什么用分布式锁?有哪些常见的分布式锁?

我们为什么需要分布式锁?
因为我们的数据库或者是app的server通常有很多个,而我们高并发请求的时候,只用一个锁肯定不行了(比如只加synchronized关键字)所以 面对微服务架构下的并发请求。我们需要分布式锁。
【就是说 多个数据库+多个并发的请求,使得我们需要分布式锁。如果只是一个数据库+多个并发请求,只需要用synchronized或者reentrantLock就行了。并发请求才是我们用锁的关键原因。如果没有并发 我们根本用不到锁】

常见的分布式锁:

  1. 基于数据库的分布式锁
    悲观锁乐观锁【version】。
  2. 基于缓存实现分布式锁
    用redis(setnx, redlock…)
  3. 基于zookeeper实现的分布式锁
    之前的理解,zookeeper是用来为管理集群的,比如做load balancing之类的。用于管理协调大量服务器集群。但是实际 zookeeper是一个为分布式应用提供一致性服务的开源组件。它内部是一个分层的文件系统目录树结构,规定同一个目录下只能有一个唯一文件名。它也可以实现分布式锁。

常用的分布式锁有哪些?
分布式锁的几种解决方案

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5681618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存