基于zookeeper实现分布式锁和基于redis实现分布所的区别

1,实现方式不同

zookeeper实现分布式锁:通过创建一个临时节点,创建的成功节点的服务则抢占到分布式锁,可做业务逻辑。当业务逻辑完成,连接中断,节点消失,继续下一轮的锁的抢占。

redis实现分布式锁:是通过setnx命令在redis服务里面创建一个指定key,成功返回1,失败返回0,key 是唯一,会给key 设置有效期,所以创建成功则抢占到锁,实现业务逻辑,完成之后,删除该key(del), 继续下一轮锁的抢占。

2,从性能角度(从高到低)

Redis > Zookeeper >= 数据库

 因为redis 是数据是从在内存中

3,从可靠性角度(从高到低)

Zookeeper > Redis > 数据库

posted @ 2019-08-19 13:30  Chris,Cai  阅读(601)  评论(0编辑  收藏  举报