架构设计--基础

1、Redis是否可以实现分布式锁?

      思路:Redis一般使用setnx方法,通过Redis实现锁和超时时间来控制锁的失效时间。当主节点挂掉,极端情况下,当Redis主节点挂掉,但锁还没有同步到从节点,根据哨兵机制,从节点被选举为主节点,继续提供服务,其他线程就会请求锁,出现两个线程同时拿到锁的情况。

      理论:Redis的设计模型是AP模型,分布式锁是一个CP场景,故而将Redis这种AP模型的架构应用于CP场景,在底层的技术选型上就是错误的。

posted on 2023-10-17 10:22  木乃伊人  阅读(5)  评论(0编辑  收藏  举报

导航