1.一個合格的分佈式鎖須要知足如下條件:數據庫
一、在分佈式系統環境下,一個方法在同一時間只能被一個機器的一個線程執行; 二、高可用的獲取鎖與釋放鎖; 三、高性能的獲取鎖與釋放鎖; 四、具有可重入特性; 五、具有鎖失效機制,防止死鎖; 六、具有非阻塞鎖特性,即沒有獲取到鎖將直接返回獲取鎖失敗。緩存
2.分佈式鎖的實現方式分佈式
基於數據庫實現分佈式鎖; 基於緩存(Redis等)實現分佈式鎖; 基於Zookeeper實現分佈式鎖;性能