redis

1.保证最终一致性,副本间的数据复制是异步进行,(set写 get读,redis是读写分离架构,存在主从从不延迟的情况),而且,主从切换可能导致部分数据,没有复制过去,导致数据丢失,所以要求强一致性时,推荐zk.

2.Redis各集群的方法响应时间为最低,随着并发量和业务数量上升其响应时间会明显上升,但是极限qps,可以达到最大基本无异常。

ZK

1.也无法保证完全一致性,其他原理是使用临时顺序节点,节点生命周期在client与集群的Session结束时结束。因此某个client节点存在网络问题,与zk断开连接,Session超时同样会导致错误的释放锁(导致其他线程错误的持有锁)

2.有较好的稳定性,但并发量上升,会导致qps下降

总结:

1.zk每次进行锁操作前都需要创建若干节点,完成后释放节点比较耗时

2.redis么有上述问题

Zookeeper 和redis做分布式锁区别相关推荐

  1. 关于Zookeeper和Redis实现分布式锁的异同

    本文来说下Zookeeper和Redis实现分布式锁的异同 文章目录 概述 Redis单机实现分布式锁 Redis加锁 Redis解锁 Redis加锁过期时间设置问题 Zookeeper单机实现分布式 ...

  2. redis做分布式锁可能不那么简单

    在计算机世界里,对于锁大家并不陌生,在现代所有的语言中几乎都提供了语言级别锁的实现,为什么我们的程序有时候会这么依赖锁呢?这个问题还是要从计算机的发展说起,随着计算机硬件的不断升级,多核cpu,多线程 ...

  3. 程序员修神之路--redis做分布式锁可能不那么简单

    点击上方"蓝字"带你去看小星星 菜菜哥,复联四上映了,要不要一起去看看? 又想骗我电影票,对不对? 呵呵,想去看了叫我呀 看来你工作不饱和呀 哪有,这两天我刚基于redis写了一个 ...

  4. Zookeeper和Redis实现分布式锁,附我的可靠性分析

    作者:今天你敲代码了吗 链接:https://www.jianshu.com/p/b6953745e341 在分布式系统中,为保证同一时间只有一个客户端可以对共享资源进行操作,需要对共享资源加锁来实现 ...

  5. 实际开发中使用Redis做分布式锁,躲坑指南,收藏起来

    今天我们来聊聊Redis分布式锁,曾经被Redis分布式锁的坑给坑惨了,接下来,我就进行一个完整的整理,希望大家都能避免踩坑. 在分布式系统中,由于redis分布式锁相对于更简单和高效,成为了分布式锁 ...

  6. redis实现轮询算法_基于zookeeper或redis实现分布式锁

    前言 在分布式系统中,分布式锁是为了解决多实例之间的同步问题.例如master选举,能够获取分布式锁的就是master,获取失败的就是slave.又或者能够获取锁的实例能够完成特定的操作. 目前比较常 ...

  7. Java Redis 做分布式锁

    最近在做集群的时候,多台服务器上都有Spring定时任务的代码. 如果不做处理的话,每台服务器上的定时任务都会执行,而实际只需要一台服务器上的定时任务执行就可以了. 我这里用的是Redis来保证这个一 ...

  8. 分布式锁和数据一致性的讨论——redis集群做分布式锁的风险

    文章目录 写在前面 分布式锁的三个属性 分布式锁就⼀定要实现这三个属性吗? 实现容错性 方法一:基于多个 Redis 节点实现分布式锁 问题一:进程可能会被挂起,直到锁的 TTL 过期 问题二:墙上时 ...

  9. Redlock 算法:Redis 实现分布式锁(译)

    先介绍两个概念 Safety Properties, 在程序运行中不会进入非预期的状态(如非法调用参数, 数组下标越界等运行错误) Liveness Properties, 在程序运行中预期状态一定会 ...

  10. 面试题详解:如何用Redis实现分布式锁?

    说一道常见面试题: 使用Redis分布式锁的详细方案是什么? 一个很简单的答案就是去使用 Redission 客户端.Redission 中的锁方案就是 Redis 分布式锁的比较完美的详细方案. 那 ...

最新文章

  1. MariaDB Spider:实现MySQL横纵向扩展的小能手
  2. 使用阿里云容器服务Kubernetes实现蓝绿发布功能
  3. Python安装Jupyter Notebook配置使用教程
  4. 【转】Java:String、StringBuffer和StringBuilder的区别
  5. LeetCode 1246. 删除回文子数组(区间DP)
  6. 宠物合成网站源码_为什么加工宠物食品做不到真正的“清洁”?
  7. python程序在线更新_Python自动更新功能
  8. python安装opencv库、提示找不到pip_OpenCV Python importorror:DLL加载失败:找不到指定的模块...
  9. 【计算机网络】网络协议与计算机网络体系结构(OSI参考模型、TCP/IP体系、网络通信标准化组织)及 Java网络编程
  10. 接口设计考虑点及验证点
  11. 一张图超过了屏幕大小 如何自动将多出部分隐藏 只显示中间部分
  12. 基于 Spring Boot + Vue.js + MySQL 的 QQ 登陆实战
  13. 如何导入支付宝的SDK及其模拟使用
  14. 小米路由器 mini 重新刷回官方固件
  15. 40家全球知名MCU生产厂商及其详细介绍
  16. LTI连续系统零状态响应求解
  17. java版QQ 欢迎点评
  18. dmpython部署操作轨迹
  19. AI世界- 客流统计
  20. linux文件的删除

热门文章

  1. day20: zip压缩工具及打包工具介绍
  2. 当心DevOps虚假指标
  3. 从技术雷达看持续交付
  4. android 开发怎么让程序生成的图片文件不会被系统扫描到
  5. 极速理解设计模式系列:24.解释器模式(Interpreter Pattern)
  6. skin文件启用智能提示的小技巧
  7. [转]MSSQL查询优化
  8. Wireshark实战分析之IP协议(二)
  9. Linux串口驱动分析write
  10. 说出来你可能不信,内核这家伙在内存的使用上给自己开了个小灶!