1、性能反面,zk优于redis(redlock算法)
redis 会尝试在所有master上创建锁,但是只对一部分节点创建锁,个数为(n/2+1)个,获取一个毫秒级时间戳,设置创建时间,如果创建时间小于超时时间就视为成功,如果创建失败就顺序删除。只要创建好一个分布式锁,就要不断轮循这个锁什么时候释放。
zk只会对已经创建分布式锁的系统进行创建监听,所以性能消耗很小
2、运行出现错误
redis创建锁的节点如果挂了,那就只能等待超时才能释放锁
zk因为是创建临时的lockNode,所以挂了就释放了
3、操作
redis使用起来相对麻烦,还要计算时间还要遍历上锁等
zk相对清晰简单的多
ps:纯属个人理解做了笔记