分布式锁

1.解决电商中的超卖问题。

(1)用update行锁

 

(2)用synchronized或者ReentrantLock锁,并且手动提交事务,控制并发。(当多个服务时,多个进程时jvm的这两种锁就失效了)

 

 

 (3)用for update锁。(当并发量大时,对数据库压力很大。建议:锁的数据库和业务数据库分开)

 

 

 (4)利用redis的NX特性,实现分布式锁,可以解决定时任务,集群部署的问题。

 

 

(5)用zookeeper实现分布式锁

 代码实现:

 

 

 

(6)redission提供了额外的分部署锁功能:https://blog.csdn.net/fuleidemo/article/details/90437697 

 

 

 

posted @ 2021-08-04 16:34  萧长风  阅读(42)  评论(0编辑  收藏  举报