??、應?場景
在多線程并發的場景下?,Java?Synchronized/Reentrantlock?鎖能夠實現同?個JVM進程內多線程?并發的安全性?,但?法保證多個JVM進程實例構成的集群環境在多線程下的安全性。在?些業務場景??下需要引?分布式鎖。
1、緩存擊穿
當某個熱點緩存數據過期時?,如果此時有?量并發請求訪問這個數據?,這些請求將直接穿透緩存訪問?后端數據庫。
在緩存失效的瞬間?,使?分布式鎖來保證只有?個線程去訪問數據庫?,其它線程等待該線程從數據庫?中加載數據并更新緩存后再獲取。避免?量請求同時訪問數據庫。
2、分布式定時任務
分布式集群下的定時任務?般是多實例部署的?,很多業務場景?如:商品定時上架、定時?成數據?報表等要求在執?時機到來時只允許?個實例執?任務。?因此?,執?定時任務時需要考慮搶鎖來爭奪???定時任務執?權。