填坑分布式鎖

TXL永遠愛WXY 2022-01-08 04:37:35 阅读数:805

分布式 分布

之前有寫過ZK分布式鎖,ZK天然分布式鎖所以省去了很多中間操作,還有Redis和數據庫兩種形式坑填一填,本身沒有難度,就是熟悉與否。

巨人肩膀:https://segmentfault.com/a/1190000040211221

1、分布式鎖應用的場景有哪些?分布式鎖是什麼,應該具備哪些特點?

鎖的作用是保證多個進程或線程在並發操作操作共享資源時資源的正確性。在分布式應用中,一個服務需要部署多個實例,對於操作分布式環境下的共享資源,就需要使用分布式鎖來保證操作的正確性。

分布式鎖應該具有特點

(1)互斥

(2)可重入

(3)鎖超時

(4)高可用

其中前面幾個特點和本地鎖具體的特點相同,高可用是分布式鎖需要具備的重要的特點。

使用Redis實現分布式鎖應該考慮的問題

(1)加鎖和解鎖過程必須是原子操作(涉及到lua脚本)

(2)保證高可用,使用Redis Cluster集群部署(涉及到節點數據同步帶來的問題)

巨人肩膀:https://segmentfault.com/a/1190000041172633

使用數據庫實現分布式鎖應該考慮的問題

(1)保證高可用,數據庫的單點故障問題

(2)性能問題,數據庫連接數量對請求的限制

(3)數據庫鎖的釋放

巨人肩膀:https://segmentfault.com/a/1190000040018649 

總結一下,都是套路,都是八股,沒什麼可多說的

不如思考算法

版权声明:本文为[TXL永遠愛WXY]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080437347760.html