redis分布式锁的方案,无论用何种方式实现都会有续约问题与集群同步延迟问题。
总的来说,是一个不太靠谱的方案。如果追求高正确率,不能采用这种方案。
但是它也有优点,就是比较简单,在某些非严格要求的场景是可以使用的,比如社交系统一类,交易系统一类不能出现重复交易则不建议用。
集群下分布式锁的问题
问题讲解:
这一问题是在redis集群方案时会出现的.事实上,现在为了保证redis的高可用和访问性能,都会设置redis的主节点和从节点,主节点负责写操作,从节点负责读操作,也就意味着,我们所有的锁都要写在主redis服务器实例中,如果主redis服务器宕机,资源释放(在没有加持久化时候,如果加了持久化,这一问题会更加复杂),此时redis主节点的数据并没有复制到从服务器,此时,其他客户端就会趁机获取锁,而之前拥有锁的客户端可能还在对资源进行操作,此时又会出现多客户端对同一资源进行访问和操作的问题.
解决方案:
这一问题准备单独成文进行讨论,因为并不是一两句话可以说清楚.
Redis分布式锁在实现时存在续约问题和集群同步延迟,可能导致数据一致性风险,尤其在主节点故障时。然而,其简单性使得它适用于对正确性要求不高的场景,如社交系统。解决方案通常涉及主从同步策略的优化,确保在主节点宕机时能避免数据丢失和锁冲突。
1187

被折叠的 条评论
为什么被折叠?



