文章预览
作者 l Hollis 来源 l Hollis(ID:hollischuang) 在分布式锁的实现方案中,通常就是数据库、Redis 以及 Zookeeper 这三种,关于分布式锁的多种实现方式及原理我们这里不展开了 本文主要聚焦 Redis 的分布式锁和Zookeeper 的分布式锁之间的区别,以及如何选择。 其实在功能上,Redis 的分布式锁和 ZK 的分布式锁都能实现我们想要的功能,锁的互斥、重入等等。 他们主要有以下几个区别: 性能区别 在性能方面, Redis 是基于内存存储的,而 ZK 是基于磁盘存储的 ,所以, 在性能上,Redis 要比 ZK 更好一些。 自动释放 ZK 的锁的实现原理是基于客户端和服务端的连接来保证的,一旦连接断了,锁就会被自动释放。而 Redis 的锁是需要自己主动加锁和解锁的,除非达到了超时时间,否则不会自动释放。 所以, ZK 的分布式锁可以更好的应对客户端崩溃的情况 ,一旦客户
………………………………