綜合講講方案:
使用場景
需要保證一個方法在同一時間內只能被同一個線程執(zhí)行
實現(xiàn)方式:
加鎖和解鎖
方案,考慮因素(性能,穩(wěn)定,實現(xiàn)難度,死鎖)
基于數(shù)據(jù)庫做分布式鎖--樂觀鎖(基于版本號)和悲觀鎖(基于排它鎖)
基于 redis 做分布式鎖:setnx(key,當前時間+過期時間)和Redlock機制
基于 zookeeper 做分布式鎖:臨時有序節(jié)點來實現(xiàn)的分布式鎖,Curator
基于 Consul 做分布式鎖