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

分布式锁的可用性与切换效率探讨

不可否认,在多核时代,多线程并发是常态, 分布式锁服务通过持续心跳来保证锁的健壮性,让用户不用投入很多精力关注丢锁,但也有可能异常的用户进程持续占据锁。

我们也曾经遇到过该类场景,因为机器 load 高,硬件问题等原因,设备上的进程假死但其中仍存在部分线程在工作,比如锁的心跳维护线程依然正常运行,这样锁节点仍然是被假死进程占据着,且无法被其他进程抢占。针对该场景,为了保证锁最终可以被调度,提供了可以安全释放锁的会话加黑机制。

当用户需要将发生假死的进程持有的锁释放时,可以通过查询会话信息,并将会话加黑,此后,心跳将不能正常维护,最终导致会话过期,锁节点被安全释放。这里我们不是强制删除锁,而是选用禁用心跳的原因如下:

a. 删除锁操作本身不安全,如果锁已经被其他人正常抢占,此时删锁请求会产生误删除。
b. 删除锁后,持有锁的人会话依然正常,它仍然认为自己持有锁,会打破锁的互斥性原则。

切换效率:

当进程持有的锁需要被重新调度时,持有者可以主动删除锁节点,但当持有者发生异常(如进程重启,机器宕机等),新的进程要重新抢占,就需要等待原先的会话过期后,才有机会抢占成功。默认情况下,分布式锁使用的会话生命期为 50 秒,当持有锁的进程意外退出后(未主动释放锁),最长需要经过 50 秒锁节点才可以被再次抢占。

要提升切换精度,本质上要压缩会话生命周期,同时也意味着更快的心跳频率,对后端更大的访问压力。我们通过对后端进行优化,使得会话周期可以进一步压缩,提升锁的切换效率。

例如:目前给 TableStore 提供 30 秒的分布式锁,同时也通过提供 Restful 接入方式,让用户可以自定义会话时长及控制心跳发送,同时我们会将锁的精度进一步提高到 20 秒之内 。
结合具体的业务场景,例如守护进程发现锁持有进程挂掉的场景,提供锁的 CAS 释放操作,使得进程可以零等待进行抢锁。比如利用在锁节点中存放进程的唯一标识,强制释放已经不再使用的锁,并重新争抢,该方式可以彻底避免进程升级或意外重启后抢锁需要的等待时间。

http://www.zskr.cn/news/1476034.html

相关文章:

  • 51单片机串口通信实战:从原理到实现完整命令行交互程序
  • 终极VS Code YAML插件指南:Red Hat官方支持让你的配置编写效率翻倍
  • 从电动车BMS充电通信实战,拆解SIF单线协议的设计思路与调试技巧
  • 高考结束换新机!准大学生全价位手机推荐,准考证购机立省上千|2026 升学购机攻略 - 资讯速览
  • 免费分享一款站长 SEO 关键词工具:AI关键词生成器 Pro
  • 终极macOS光标定制指南:用Mousecape打造个性化桌面体验
  • WPF Halcon实战:用HSmartWindowControl和HDrawingObject搞定可交互ROI(附完整源码)
  • 模板驱动型文档自动化:结构化内容复用与三层架构解析
  • 模拟灰度传感器原理与实战:从循迹小车到简易颜色识别
  • 政府购买服务目录中信息化项目分类与政府采购服务相关问题研究报告
  • AD6.9授权冲突解决:局域网多机唯一序列号配置指南
  • 别再傻傻分不清!一张图看懂SATA、M.2、NVMe硬盘怎么选(附避坑指南)
  • 解锁华硕笔记本隐藏潜能:G-Helper轻量控制工具深度体验指南
  • RTX5消息队列创建踩坑实录:从osMessageQueueNew参数配置到Keil调试视图全解析
  • 2026年拉杆铝箱/抽屉式航空箱/储能便携拉杆箱厂家推荐:多功能与防震防护实力品牌精选 - 品牌企业推荐师(官方)
  • 新手福音:在快马平台零代码基础体验claude code的AI编程助手魅力
  • 如何用AutoSubs实现3倍速本地AI字幕生成?终极免费指南
  • 2026天河区搬家公司全解析|高端定制、日式精搬、正规品牌避坑指南 - gzdjxd
  • 厦门做招牌多少钱
  • 在非RHEL/CentOS系统上,用Docker搞定Discovery Studio 2019的安装(Ubuntu/Arch实测)
  • Vue京东风抽奖大转盘组件,含完整样式、逻辑与静态资源,直接引入项目就能用
  • ops-cv 计算机视觉算子深度解读:昇腾 NPU 上的图像处理加速实战
  • Frigate如何重新定义智能安防:从传统监控到AI赋能的革命性转变
  • 2026年压缩机十大品牌推荐榜:制冷压缩机/空调压缩机/冷库压缩机/热泵压缩机/商用压缩机与变频压缩机实力厂家精选 - 品牌企业推荐师(官方)
  • 2026甄选:南京品牌门窗公司综合实力评估 - 品牌企业推荐师(官方)
  • 【2025版】超详细FLAC3D 7.0安装保姆级教程,永久免费使用,岩土工程软件配置和使用指南,看完这一篇就够了
  • 2026 年 PP 酸洗槽定做厂家综合实力排行|张氏橡塑稳居榜首(综合评分 4.8 分) - 资讯速览
  • GEC6818开发板上纯C实现的五子棋人机对战程序(含图形界面与完整编译配置)
  • MAA助手完整指南:明日方舟终极自动化管理工具
  • 利用快马平台ai能力,十分钟将github开源创意转化为可运行原型