现在的大多数应用是分布式结构,所有分布式锁我们经常会用到。现在就记录一下分布式锁。
1.先简单说一下什么是锁
应用程序中的锁,大家可以理解为现实生活中的锁(门锁,车锁等)。举一个例子,我现在用一把锁,锁住了一个皮箱,那么,只有持有该钥匙的人,才可以打开皮箱,得到皮箱里面的东西,而且,在同一时间,只能有一个人能够开锁,因为锁孔只有一个,当一个人在开锁的时候,其他人就无法开锁。对于应用程序来说,当多个线程同时访问一个共享资源的时候,能够保证同一时间,只能有一个线程访问到数据,保证数据的一致性。
2.现在我们来说一下什么是分布式锁。
以前,我们把应用程序全部放在一台服务器上面,但这样对于高并发的应用程序来说,服务器的负担太大,于是,便把一个应用程序分为几部分,分别存储在多台服务器上面,这样大大减少咯服务器的压力。当多台服务器,同时方法一个共享资源是,需要用一种锁,锁住这个共享资源,这种锁就叫分布式锁。能够在多台服务器之间,锁住资源,保持数据的一致性。
如图,当多个用户访问一个共享资源的时候,我们就需要使用分布式锁来锁住这个资源。在java中,任何对象都可以是一把锁
3.分布式锁应该满足的条件
1.在分布式系统环境下,共享资源在同一时间只能被一
分布式锁详解--springboot+Redisson
最新推荐文章于 2023-10-03 19:53:28 发布