ZooKeeper和Reids做分布式锁的区别?

Reids:

  1. Redis只保证最终一致性,副本间的数据复制是异步进行(Set是写,Get是读,Reids集群一般是读写分离架
    构,存在主从同步延迟情况),主从切换之后可能有部分数据没有复制过去可能会 **「丢失锁」**情况,故强一
    if redis.call("get", KEYS[1])==ARGV[1] then
    return redis.call("del", KEYS[1])
    else
    return 0
    end
    致性要求的业务不推荐使用Reids,推荐使用zk。
  2. Redis集群各方法的响应时间均为最低。随着并发量和业务数量的提升其响应时间会有明显上升(公网集群影
    响因素偏大),但是极限qps可以达到最大且基本无异常
    ZooKeeper:
  3. 使用ZooKeeper集群,锁原理是使用ZooKeeper的临时顺序节点,临时顺序节点的生命周期在Client与集群的
    Session结束时结束。因此如果某个Client节点存在网络问题,与ZooKeeper集群断开连接,Session超时同样
    会导致锁被错误的释放(导致被其他线程错误地持有),因此ZooKeeper也无法保证完全一致。
  4. ZK具有较好的稳定性;响应时间抖动很小,没有出现异常。但是随着并发量和业务数量的提升其响应时间和
    qps会明显下降。
    总结:
  5. Zookeeper每次进行锁操作前都要创建若干节点,完成后要释放节点,会浪费很多时间;
  6. 而Redis只是简单的数据操作,没有这个问题。
相关推荐
幼儿园老大*13 小时前
什么是分布式数据库?有什么优势?
数据库·分布式
武子康14 小时前
大数据-135 ClickHouse 集群连通性自检 + 数据类型避坑实战|10 分钟跑通 ON CLUSTER
大数据·分布式·后端
橙色云-智橙协同研发14 小时前
PLM实施专家宝典:离散制造企业工程变更的“流程金融”方案
云原生·解决方案·plm·国产plm·产品服务·工程方案·工程变更
信仰_27399324316 小时前
Eureka 多层缓存机制详解
缓存·云原生·eureka
有谁看见我的剑了?17 小时前
Rocky 9 安装 Elasticsearch分布式集群
分布式·elasticsearch·jenkins
你总是一副不开心的样子(´ . .̫ .1 天前
消息队列Kafka
分布式·kafka
沐浴露z1 天前
Kafka入门:基础架构讲解,安装与使用
java·分布式·kafka
wu~9701 天前
Kafka底层解析:可靠性与高性能原理
分布式·kafka·操作系统
兜兜风d'1 天前
RabbitMQ 发送方确认机制详解
spring boot·分布式·rabbitmq·java-rabbitmq·1024程序员节
也许是_1 天前
Spring Boot 3.X推荐Micrometer Tracing 分布式链路追踪
spring boot·分布式·后端