首页 > 其他分享 >分布式锁

分布式锁

时间:2023-08-27 18:45:56浏览次数:28  
标签:临时 zookeeper 关闭 续命 节点 分布式

2023.8.27

1.zookeeper实现,基于临时节点实现——临时节点唯一

  创建临时节点

  关闭的时候调用close方法即可

2.zookeeper获取临时节点之后一直不关闭,也就是一直不释放锁怎么办

   设定超时时间

3.羊群效应——比喻一个服务成功获取、释放节点时,其他需要锁的服务需要被唤醒、竞争这个锁,就像追着头羊的羊群一样

  解决方式:使用临时顺序节点,尝试创建节点时,认为序号最小的成功,其他阻塞的订阅上一个序号的节点,有点类似公平锁。

       之后最小的节点连接关闭之后(1关闭了),订阅该节点的就会生成2,发现2最小,成功获取锁。

4.Redis实现分布式锁死锁问题,设置key的TTL

5.Redis续命,要再开一个线程做定时,同时设置好续命次数,避免死锁。

  看门狗

 

标签:临时,zookeeper,关闭,续命,节点,分布式
From: https://www.cnblogs.com/RynerLee/p/17660029.html

相关文章

  • 大厂版本控制利器——GIT——最先进的分布式版本控制系统
    哈喽,大家好,我是指北君。作为程序员,对版本控制工具肯定不陌生。对很多资深程序员来说,CVS和SVN曾经占据着统治地位。随着互联网飞速发展,为了更好地适应互联网时代软件版本管理的需要,采用分布式版本库的Git应运而生,并迅速占领各大互联网阵地,独占鳌头。关于GitGit是LinusTorval......
  • 分布式数据库CAP原理
    看完了阳哥的redis视频课,理解了MySQL和NoSQL的区别,下面来总结一下传统的ACID分别是什么A(Atomicity)原子性C(Consistency)一致性I(Isolation)独立性D(Durability)持久性关系型数据库遵循ACID规则,事务在英文中是transaction,有如下四个特性:1、A(Atomicity)原子性原子性......
  • 分布式锁、分布式ID
    分布式锁、分布式IDhttps://www.cnblogs.com/liuqingzheng/p/11080501.html#分布式系统中加锁-->悲观锁 -mysql行锁 性能不高-需要性能更高的分布式锁#python线程锁#分布式锁需要的条件1、在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行;2、......
  • 跨平台通信:数字化工厂中基于OPC UA的分布式IO模块介绍
    背景近年来,为了提升在全球范围内的竞争力,制造企业希望自己工厂的机器之间协同性更强,自动化设备采集到的数据能够发挥更大的价值,越来越多的传统型工业制造企业开始加入数字化工厂建设的行列,实现智能制造。数字化改造推动工厂越来越“聪明”1数字化车间的概述简单来讲,相较于传统工厂......
  • redis 实现分布式锁原理
    通过原子操作实现redis锁redis内部是通过key/value的形式存储的,核心原理是设置一个唯一的key,如果这个key存在,说明有服务在使用具体实现方式:首先判断redis中是否存在某个key,并且为某个值如果这个key不存在,说明当前没有服务在使用,设置key如果这个key存在,说明当前有服......
  • 分布式事务解决方案——Seata
    分布式事务解决方案——SeataSeata是什么?Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。Seata三大角色在Seata架构中,共涉及到三个角色:TC(Transact......
  • 分布式
    一、理论1、CAPC:一致性:所有节点访问同一份最新的数据副本A:可用性:非故障的节点在合理的时间内返回合理的响应,不是错误或者超时的响应P:分区容错性:分布式系统在出现网络分区的时候,依然能够对外提供服务网络分区:分布式系统中,多个节点之间的网络原本是联通的,但是由于某些故障......
  • 分布式数据库
    1.基于Redis分布式锁1.获取锁时,使用setnx加锁(setnxkeyval当且仅当key不存在时,set一个key为val的字符串,返回1;存在返回0;)锁的value为随机的UUID,释放锁的时候进行判断,使用expire命令添加一个超时时间,超过该时间自动释放锁2.释放锁时,通过UUID判断是不是该锁,是则delete进行锁释放......
  • 架构:第五章:分布式架构的演进
    单一应用架构 适用于小型网站,小型管理系统,将所有功能都部署到一个功能里,简单易用。缺点:1、性能扩展比较难2、协同开发问题3、不利于升级维护垂直应用架构 通过切分业务来实现各个模块独立部署,降低了维护和部署的难度,团队各司其职更易管理,性能扩展也更方便,更有......
  • Kurator,你的分布式云原生解决方案
    本文分享自华为云社区《DTSETechTalk|第40期:Kurator,你的分布式云原生解决方案》,作者:华为云社区精选。什么是分布式云原生?中国信通院给出的定义:分布式云原生是指通过云原生技术统一多云技术栈,提供业务价值的设计模式。根据这个定义,我们延伸出以下几个问题:•什么是云原生技......