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只是简单的数据操作,没有这个问题。
相关推荐
富士康质检员张全蛋36 分钟前
深入理解zookeeper session机制
zookeeper
Wang's Blog2 小时前
Kafka: 消费者高级实践之分区控制、多线程处理与 Offset 管理
分布式·kafka
老鱼说AI2 小时前
经典论文精读第一期:DeepSeek-R1-Zero ——RL奇迹
人工智能·分布式·深度学习·神经网络·自然语言处理·nlp·transformer
闲人编程3 小时前
OpenTelemetry分布式追踪
分布式·wpf·trace·追踪·open telemetry·codecapsule
BUTCHER54 小时前
【漏洞扫描】ZooKeeper 未授权访问
分布式·zookeeper·云原生
苦学编程的谢4 小时前
RabbitMQ_9_RabbitMQ应用问题
分布式·rabbitmq
武子康4 小时前
大数据-192 DataX 3.0 架构与实战:Reader/Writer 插件模型、Job/TaskGroup 调度、speed/errorLimit 配置速
大数据·分布式·后端
企鹅侠客4 小时前
探索Kubernetes的ServiceAccounts
云原生·容器·kubernetes
虫小宝5 小时前
拼多多返利app分布式锁设计:解决高并发下的佣金超发问题
分布式
虫小宝5 小时前
电商返利APP容器编排实践:K8s在多环境部署中的资源调度优化
云原生·容器·kubernetes