网站需求分析与设计方案,网站建设首选云端高科,手机软件开发的模式,WordPress目录筛选推荐链接#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD… 推荐链接 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoDB】 总结——》【Elasticsearch】 Redis——》Redis的部署方式对分布式锁的影响 一、Redis常见的部署方式二、生产环境一般采用的部署方式三、当主从发生切换时分布式锁依旧安全吗1、场景2、现象3、结论 一、Redis常见的部署方式
单机模式主从模式哨兵sentinel模式集群模式
二、生产环境一般采用的部署方式
主从哨兵 Q主从哨兵结合模式有什么优点 A 普通的主从模式当master崩溃时需要手动切换让slave成为master。 主从哨兵结合模式当master异常宕机时哨兵可以实现故障自动切换把slave提升为新的master继续提供服务以此保证可用性。 三、当主从发生切换时分布式锁依旧安全吗
1、场景
客户端1在master上执行SET命令加锁成功此时master异常宕机SET命令还未同步到slave上主从复制是异步的哨兵将slave提升为新的master但这个锁在新的master上丢失了导致客户端2来加锁成功了两个客户端共同操作共享资源 2、现象
发生锁数据丢失问题因为主从复制是异步的主库加了锁却没来得及同步到从库上从库就被哨兵提升为新主库所有这个锁在新的主库上丢失了
3、结论
当引入Redis副本后分布式锁还是可能受到影响。即使Redis通过sentinel保证高可用如果这个master节点由于某些原因发生了主从切换那么就会出现锁丢失的情况。