【5分钟背八股】ZooKeeper和Reids做分布式锁的区别?

源代码 2024-9-13 02:15:45 110 0 来自 中国
Reids:

  • Redis只包管终极划一性,副本间的数据复制是异步举行(Set是写,Get是读,Reids集群一样平常是读写分离架构,存在主从同步耽误环境),主从切换之后大概有部门数据没有复制过去大概会 「丢失锁」 环境,故强划一性要求的业务不保举利用Reids,保举利用zk。
  • Redis集群各方法的相应时间均为最低。随着并发量和业务数量的提升其相应时间会有显着上升(公网集群影响因素偏大),但是极限qps可以到达最大且根本无非常
ZooKeeper:

  • 利用ZooKeeper集群,锁原理是利用ZooKeeper的暂时次序节点,暂时次序节点的生命周期在Client与集群的Session竣事时竣事。因此假如某个Client节点存在网络题目,与ZooKeeper集群断开毗连,Session超时同样会导致锁被错误的开释(导致被其他线程错误地持有),因此ZooKeeper也无法包管完全划一。
  • ZK具有较好的稳固性;相应时间抖动很小,没有出现非常。但是随着并发量和业务数量的提升其相应时间和qps会显着下降。
总结:

  • Zookeeper每次举行锁利用前都要创建多少节点,完成后要开释节点,会浪费很多时间;
  • 而Redis只是简单的数据利用,没有这个题目。
保举阅读【5分钟背八股】MySQL怎样做分布式锁??
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 23:25, Processed in 0.151845 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表