填坑分布式锁

之前有写过ZK分布式锁,ZK天然分布式锁所以省去了很多中间操作,还有Redis和数据库两种形式坑填一填,本身没有难度,就是熟悉与否。

巨人肩膀:https://segmentfault.com/a/1190000040211221

1、分布式锁应用的场景有哪些?分布式锁是什么,应该具备哪些特点?

锁的作用是保证多个进程或线程在并发操作操作共享资源时资源的正确性。在分布式应用中,一个服务需要部署多个实例,对于操作分布式环境下的共享资源,就需要使用分布式锁来保证操作的正确性。

分布式锁应该具有特点

(1)互斥

(2)可重入

(3)锁超时

(4)高可用

其中前面几个特点和本地锁具体的特点相同,高可用是分布式锁需要具备的重要的特点。

使用Redis实现分布式锁应该考虑的问题

(1)加锁和解锁过程必须是原子操作(涉及到lua脚本)

(2)保证高可用,使用Redis Cluster集群部署(涉及到节点数据同步带来的问题)

巨人肩膀:https://segmentfault.com/a/1190000041172633

使用数据库实现分布式锁应该考虑的问题

(1)保证高可用,数据库的单点故障问题

(2)性能问题,数据库连接数量对请求的限制

(3)数据库锁的释放

巨人肩膀:https://segmentfault.com/a/1190000040018649 

总结一下,都是套路,都是八股,没什么可多说的

不如思考算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值