美文网首页
基于zookeeper和redis分布式锁理解

基于zookeeper和redis分布式锁理解

作者: snail_knight | 来源:发表于2017-08-04 16:26 被阅读0次

最近看了基于zookeeper和redis两种分布式锁的原理以及实现方式:
下文中的锁:你可以理解为一个标识符,表达两种状态,对应值存在已经被锁,如果对应值不存在,可以竞争写入,写入成功获得锁。
相同点:
1、作为锁的标识的第三方组件都是集群:在该功能上,主要为了解决单点问题,实现高可用
2、在原理上根本上来说差异不大:通过网络争用锁,zookeeper通过唯一路径定位该锁,redis通过唯一key来定位锁。为避免死锁都采用锁过期机制

不同点:
1、redis实现会用时间戳作为value来判断锁版本,阻塞其他请求;也是通过这个时间戳来完成锁过期机制的。zookeeper通过uuid+epoch+zxid,zookeeper集群自身维护的一个序列号来标识连接客户端。每一个客户端线程可以拥有锁。过期好像是通过客户端操作,corator是的实现方式如此,zookeeper原生的代码中没有这样的方法。
2、redis就是一个基于网络高可用高并发的缓存,因此相对于zookeeper直接对比没有意义,而且zookeeper的诞生是伴随着paxos算法。因此在分布式一致性采用zookeeper的理由更加充分。

相关文章

  • 分布式锁的实现方式

    分布式锁通常有3种实现方式,即数据库乐观锁、基于redis的分布式锁和基于zookeeper的分布式锁。 一、基于...

  • 分布式锁实现

    基于数据库实现分布式锁基于缓存(redis,memcached)实现分布式锁基于Zookeeper实现分布式锁 s...

  • 分布式锁之Redis实现(acquire)

    分布式锁一般有三种实现方式: 基于数据库的锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。 本...

  • Redis实现分布式锁

    1. 分布式锁分类 数据库乐观锁 基于Redis的分布式锁 基于ZooKeeper的分布式锁 2. 组件依赖 po...

  • 分布式锁的实现-Redisson

    常见3种分布式的实现比较 基于数据库实现分布式锁 基于缓存实现分布式锁(redis,mc) 基于Zookeeper...

  • Redis实现分布式锁

    分布式下的分布式锁一般实现有三种: 基于数据库的乐观锁 基于redis的分布式锁 基于zookeeper的分布式锁...

  • 分布式锁的封装,原来有这么多讲究。。。

    分布式锁通常有很多选择,基于 Redis 的,基于 Zookeeper 的,基于数据库等等方案。 Redis 用于...

  • 如何将分布式锁封装的更优雅

    分布式锁通常有很多选择,基于 Redis 的,基于 Zookeeper 的,基于数据库等等方案。 Redis 用于...

  • Redis分布式锁实现

    分布式锁实现方式 数据库乐观锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。 本篇将介绍第二种...

  • 通过redis实现分布式锁

    前言 分布式锁一般有三种实现方式: 数据库乐观锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。...

网友评论

      本文标题:基于zookeeper和redis分布式锁理解

      本文链接:https://www.haomeiwen.com/subject/zotblxtx.html