网站建设套路,seo神器,建设小型网站需要什么技术,普陀本地论坛4、分布式锁
4.1 、基本原理和实现方式对比
分布式锁#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁。
分布式锁的核心思想就是让大家都使用同一把锁#xff0c;只要大家使用的是同一把锁#xff0c;那么我们就能锁住线程#xff0c;不让线程进行#x…4、分布式锁
4.1 、基本原理和实现方式对比
分布式锁满足分布式系统或集群模式下多进程可见并且互斥的锁。
分布式锁的核心思想就是让大家都使用同一把锁只要大家使用的是同一把锁那么我们就能锁住线程不让线程进行让程序串行执行这就是分布式锁的核心思路 那么分布式锁他应该满足一些什么样的条件呢
可见性多个线程都能看到相同的结果注意这个地方说的可见性并不是并发编程中指的内存可见性只是说多个进程之间都能感知到变化的意思
互斥互斥是分布式锁的最基本的条件使得程序串行执行
高可用程序不易崩溃时时刻刻都保证较高的可用性
高性能由于加锁本身就让性能降低所有对于分布式锁本身需要他就较高的加锁性能和释放锁性能
安全性安全也是程序中必不可少的一环 常见的分布式锁有三种
Mysqlmysql本身就带有锁机制但是由于mysql性能本身一般所以采用分布式锁的情况下其实使用mysql作为分布式锁比较少见
Redisredis作为分布式锁是非常常见的一种使用方式现在企业级开发中基本都使用redis或者zookeeper作为分布式锁利用setnx这个方法如果插入key成功则表示获得到了锁如果有人插入成功其他人插入失败则表示无法获得到锁利用这套逻辑来实现分布式锁
Zookeeperzookeeper也是企业级开发中较好的一个实现分布式锁的方案由于本套视频并不讲解zookeeper的原理和分布式锁的实现所以不过多阐述