知识卡片

分布式锁跨节点

专业/工作 · 490.c

内容

分布式锁为多节点访问共享资源建立排他边界,常用于全局发号、分布式事务等场景。它比本地锁难,因为锁状态本身也要面对网络延迟、节点失败和超时。具体实现差异见 [[ZK锁顺序排队]]、[[Redis锁验身份]]、[[etcd锁强一致]]。

参考来源

- 位置:《Go语言高级开发与实战》第5章《分布式系统》(源文件:_epub-src/GoYu Yan Gao Ji Kai Fa Yu Shi Zhan_split_046.html) - 结论依据:原文定义分布式锁,并说明它服务于多节点最终一致性场景,支撑跨节点排他访问的结论。 - 原始内容:4 分布式锁 5.4.1 分布式锁简介 分布式锁是指为分布式应用各节点对共享资源的排他式访问而设定的锁。在分布式场景下,有很多种情况都需要实现多节点的最终一致性,比如全局发号器、分布式事务等。 传统实现分布式锁的方案一般是利用持久化数据库(如利用InnoDB行锁、事务、version乐观锁等),当然大多数时候可以满足需求。而如今互联网应用的量级已经呈几何级别的爆发,利用诸如ZooKeeper、Redis等更高效的分布式组件来实现分布式锁…