在分布式的应用中,为了防止单点故障,保障高可用,通常会采用主从结构,当主节点挂掉后,从节点可以代替主节点提供服务。

Redis通过复制 + sentinel哨兵来实现主从模式。
Zookeeper通过replicated mode复制模式来实现主从模式。
单从结构上看,Redis和Zookeeper都是主从架构,那Zookeeper的优势是什么?为什么要选择Zookeeper?难道只是因为Zookeeper是目录结构,Redis是K-V结构吗?
同步机制的不同
Redis
Redis在给从节点同步数据时,正常情况是增量同步,也就是主节点的数据修改语句(DML)会异步的同步给从节点。Redis的数据同步没有保障数据一致性的机制,也就是说,一条DML在主节点执行成功时,不能保障其他从节点成功执行了这条数据,这就会造成一个问题,如果在数据没有同步到从节点时,主节点挂掉,就会产生数据丢失的情况。
Zookeeper
Zookeeper使用类paxos算法来保障数据的一致性。简单的讲,当一个DML语句发送给主节点时,Zookeeper需要保证一半以上的节点接收到数据,才会返回成功。并且当主节点挂掉,从节点重新选举时,同步到最新的数据的节点会有优先选举权。
举个例子:
一个4节点Zookeeper(A、B、C、D),A是主节点,当执行一个create语句成功时,至少有3台节点执行成功(一半以上),例如A、C、D成功。此时如果A节点挂了,B、C、D进行选举,由于C、D都执行成功了create语句,B没有执行,C、D的数据更加新,具有优先选举权,再根据名称排序,选择C做为主节点。在整个选举过程中,服务不可用,选举完成后,C节点和A节点数据一致,不会出现丢失的情况。
分布式锁
要实现分布式锁,需要满足一些要求:
- 只能有一个服务的一个线程能获取锁
- 一个持有锁的线程挂掉后,锁应该被释放,用来给其他线程用
- 一个持有锁的线程没执行完,锁不能释放
- 锁释放后,其他等待者可以继续争抢
- 管理锁的主节点(Redis或Zookeeper)挂了,重新选举后,不影响锁的持有情况
Redis解决方案
问题1、问题2:使用“SET key value EX seconds NX”语句获取锁并设置过期时间
问题3:另开一个监控线程,监控主线程执行情况,用来延长过期时间
问题4:等待线程定时检查锁的持有情况
问题5:暂无或者解决成本很高,需要自己实现类paxos的算法
Zookeeper解决方案
通过创建临时节点可以解决问题1,2,3
watch机制可以解决问题4,并且相比定时检查,watch可以做到更高实时性
zookeeper的paxos同步机制保障了节点间数据一致性,即使主节点挂掉,也可以保障数据不丢,可以解决问题5
对比可以发现:
Zookeeper的机制可以保证分布式锁实现业务代码简单,成本低。
Redis如果要解决分布式锁的问题,对于一些复杂的情况,很难解决,成本较高。
以上就是分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了的详细内容,更多关于分布式锁Zookeeper Redis的资料请关注其它相关文章!
相关推荐:
SEO公司核心业务是什么?揭秘提升网站排名的奥秘,写作助手ai一键生成作文在线
AI免费写文章生成器高效写作新革命
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
SEO动态:2025年SEO趋势与优化技巧解析,十堰外贸网站推广费用
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
SEO有话:如何用精准优化助力企业在线增长,食品微信营销推广
AI免费工具:提升效率与创意的秘密武器
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
ChatGDP人工智能:未来科技赋能企业与个人的智能变革,如何用AI绘制人体
Bing搜索不能预览了?搜索引擎的新变革与挑战,ai制作一张窗花
SEO就业前景如何?打造数字时代的职业新风口,常州武进区水产网站建设
AI文章精简-高效提炼与优化你的内容创作,ai quid
seo运营经理是什么,seo和运营的区别 ,皖妍ai宁慕晴o
为什么seo对企业重要,seo对企业进行网络营销的价值 ,ai李沁换脸鲍鱼
文章去AI回归创作的本真之美
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
SEO作用:提升网站流量与品牌曝光的秘密武器,美容网站联盟平台推广
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
seo要学什么技术,seo要学什么技术好 ,ai.fale
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
AI公众号文章生成,轻松打造爆款内容
SEO优化排-打造高效的网络营销利器,精神AI
文章创作AI:引领智能写作的新时代
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
AI免费文章生成器:轻松创作高质量内容的终极工具
SEO优化:让你的网站在竞争中脱颖而出,临沧seo代理
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
AI助手不需要登陆-畅享便捷生活,随时随地高效工作,ai客服 对话
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
SEO管家:为您的网站保驾护航的智能SEO助手,网站推广作用有哪些类型
什么是SEO可以自学吗,seo零基础可以自学吗 ,ai1紫
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决常见问题!,ai招生广告设计
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
SEO怎么排名?这5大技巧,轻松提升网站排名,人人都可ai
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
用AI写科普文章:科技改变写作的未来
亚马逊中什么是seo,亚马逊sop ,ai临摹中国名画
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
seo种草什么意思,seo yoo na ,三维地震反演AI
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
SEO定价策略:如何根据企业需求定制最佳价格方案,教育培训抖音营销推广
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊
什么是seo方法,何为seo ,ai写作神器源码是什么
ChatGLM不能搜索网页内容,你真的了解它的局限性吗?,ai修复情侣
ChatGPT页面怎么拖不动?解决问题的终极指南,日韩AI换脸在线观看
ChatGPT点不了?背后的真相与解决方法,ai.520523
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置