当前位置: 首页 > news >正文

免费视频素材网站有哪些游戏制作公司

免费视频素材网站有哪些,游戏制作公司,wordpress island,php小型网站源码1.什么是分布式锁? ①分布式锁是在分布式场景中使用的锁,用于保证数据的一致性 ②分布式系统由多个节点组成,节点可能分布在不同机器和网环境当中 ③分布式锁的概念和互斥锁几乎一样,使用的环境是在分布式场景之中 ④分布式的应用通常在raft算法和rp…

1.什么是分布式锁?

①分布式锁是在分布式场景中使用的锁,用于保证数据的一致性

②分布式系统由多个节点组成,节点可能分布在不同机器和网环境当中

③分布式锁的概念和互斥锁几乎一样,使用的环境是在分布式场景之中

④分布式的应用通常在raft算法rpc框架中经常出现

2.分布式锁的实现

①.分布式锁由资源和行为两部分构成:资源是存储锁的位置,行为是加锁和解锁。

②.资源通常存储在数据库或分布式配置中心(如Zookeeper或ETCD)。

③.行为通过网络通信实现,包括发送数据包和接收响应。

④.加锁成功时,资源位置打上当前进程的唯一标识。

⑤.解锁时,只有持有锁的进程才能解锁。

3.分布式锁的特性

①.互斥性:同一时刻只允许一个执行体进入临界资源。

锁打上标记:加锁

锁取消标记:解锁

标记:执行体的唯一标识

②锁超时:  上锁的时候会给共享区域打上标记 如长时间没解锁会触发锁超时 自动解锁

③.可用性:确保资源在合理时间内得到合理回复。

实现方式:备份,主从切换

④.容错性:允许节点异常和网络异常,确保服务可用。

通过一致性算法来保证容错性

4.分布式锁的类型

①.重入锁:允许同一个线程多次获取锁。

②.非重入锁:不允许同一个线程多次获取锁。

③.公平锁:按照线程到达顺序分配锁,确保公平性(排队1)。

④.非公平锁:不保证线程按照到达顺序获取锁,可能出现饥饿现象(轮询)。

5.锁超时的处理

①.锁超时问题:由于网络或进程异常,导致锁无法及时释放。

②.解决方案:通过超进程定时检查锁是否超时,并自动解锁。

③.超进程:定时检查数据库中的锁标记,超时后自动删除。

6.基于MySQL实现分布式锁

①.存储:将锁信息存储在MySQL表中,通过唯一约束实现互斥语义。

②.加锁:通过插入语句打上锁标记,返回影响行数判断加锁是否成功。

③.解锁:通过删除语句释放锁,返回影响行数判断解锁是否成功。

④.非公平锁:由于MySQL无法实现排队和通知,只能通过轮询实现非公平锁。

优点安全性高

缺点效率低

注:mysql是计算和存储是一体化的

7.基于Redis实现分布式锁

①.存储:将锁信息存储在Redis中,利用Redis的原子操作实现互斥语义。

②.加锁:通过SETNX或RedLock算法实现加锁,返回结果判断加锁是否成功。

③.解锁:通过DEL语句释放锁,返回结果判断解锁是否成功。

④.公平锁:通过队列(排队)和通知机制实现公平锁,需要额外的数据结构和逻辑支持。

8.readlock

这是 Redlock 算法相关的加锁和解锁逻辑 :

加锁:基于分布式系统中多数派原则(quorum 机制 ),向 5 个 Redis 节点尝试加锁,只要有 3 个(超过半数,即多数派 )节点加锁成功,就认为加锁成功。这样做是为了在部分节点故障等情况下,仍能保证同一时刻只有一个客户端能获取到锁,防止分布式环境下的锁冲突 。

解锁:同样向 5 个节点发起解锁操作,当 3 个节点解锁成功,就认定解锁成功。这是为了确保在分布式场景中,即使部分节点网络延迟、故障等,也能最大程度保证锁被正确释放,避免死锁 。 实际应用中,还需考虑锁的有效期、时钟漂移等问题对该机制的影响。

http://www.dtcms.com/a/503487.html

相关文章:

  • 09_Windows平台Redis开发环境配置完整指南
  • 小谈:数据地图在制造企业的应用
  • 网站建设行业分析报告学校为什么要做网站
  • 手机特殊网站wordpress 环境
  • 使用Linux系统函数递归遍历指定目录
  • h5游戏免费下载:龟兔再跑
  • opendds初入门之qos策略初了解(有遗留)
  • 多视图几何--立体匹配--Gipuma
  • C++智能指针全面解析:原理、使用场景与最佳实践
  • C++指针使用
  • 内江规划建设教育网站国家企业信用公示信息网官网
  • 深入理解 lscpu 命令:如何准确查看 CPU 信息
  • 网站建设需要什么人希腊网站后缀
  • DSync for Mac 文件对比同步工具
  • 「日拱一码」123 内嵌神经网络ENNs
  • C++与易语言开发的基础要求分享
  • 上海市住宅建设发展中心网站建设网站有何要求
  • 广州企业网站建设公司哪家好wordpress改html5
  • ARM 架构核心知识笔记(整理与补充版)
  • 《i.MX6ULL LED 裸机开发实战:从寄存器到点亮》
  • 迈向零信任存储:基于RustFS构建内生安全的数据架构
  • 网站开发公司找哪家帮卖货平台
  • C++ Vector:动态数组的高效使用指南
  • html5微网站漂亮网站
  • C++ 分配内存 new/malloc 区别
  • Respective英文单词学习
  • 网络排错全流程:从DNS解析到防火墙,逐层拆解常见问题
  • 移动端开发工具集锦
  • 使用Nvidia Video Codec(三) NvDecoder
  • 周口规划建设局网站wordpress模板中添加短代码