【csnote】分布式锁、数据库唯一索引
分布式锁在单机场景下,可以使用语言的内置锁来实现进程同步。但是在分布式场景下,需要同步的进程可能位于不同节点上,那么就需要分布式锁。阻塞锁通常用互斥量来实现:互斥量为0表示有其他进程在使用锁,此时处于锁定状态互斥量为1表示未锁定状态1和0可以用一个整型值来表示,也可以用某个数据是否存在表示数据库的唯一索引获得锁时向表中插入一条记录,释放时删除这条记录。唯一索引可以保证该记录只被插入一次,那么就可以用这个记录是否存在来判断是否处于锁定状态。存在以下几个问题。锁没有失效时间,解锁失败的话