1813
5
5516
超级版主
单机时代,多线程并发冲突可以依靠本地锁(Java 的synchronized、ReentrantLock)解决。但微服务普及之后,同一个服务会部署多台实例,不同机器、不同进程之间,本地锁互相看不见,就需要分布式锁。分布式锁是分布式系统中跨机器协调多个服务实例访问共享资源的互斥机制,保证同一时间只有一个执行者处理关键业务,避免多节点同时修改数据带来错乱。提示:本文为后端架构科普,讲解原理与工程实践,不直接作为生产上线代码。
提示:本文为后端架构科普,讲解原理与工程实践,不直接作为生产上线代码。
重要认知:分布式锁不是用来提升系统速度,很多场景会让请求排队,牺牲部分并发能力,换取数据一致性安全。
正确做法:释放锁执行 Lua 脚本,先比对锁内的唯一标识,确认是自己持有的锁,才执行删除操作腾讯云。
区分两个重要概念:分布式锁:过程控制,禁止同一时刻多个实例同时执行业务;幂等性:结果兜底,即使重复执行,最终业务结果不会出错。
举报
本版积分规则 发表回复 回帖后跳转到最后一页
相关侵权、举报、投诉及建议等,请发 E-mail:2026@typc.net
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|晋ICP备2026008270号-1|晋公网安备14010602111293号