- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
拓展3:拾遗漏补——再谈分布
式锁
在第三节,我们细致讲解了分布式锁的原理,它的使⽤⾮常简单,⼀
条指令就可以完成加锁操作。不过在集群环境下,这种方式是有
的,它不是绝对安全的。
⽐如在Sentinel集群中,主节点挂掉时,从节点会取而代之,客户
端上却并没有明显感知。原先第⼀个客户端在主节点中申请成功了⼀
把锁,但是这把锁还没有来得及同步到从节点,主节点突然挂掉了。
然后从节点变成了主节点,这个新的节点没有这个锁,所以当另
⼀个客户端过来请求加锁时,⽴即就批准了。这样就会导致系统中同
样⼀把锁被两个客户端同时持有,不安全性由此产⽣。
不过这种不安全也仅仅是在主从发⽣failover的情况下才会产⽣,
而且持续时间极短,业务系统多数情况下可以。
Redlock算法
拉机3:拾遗漏花——再谈方法式
锁
第三节,我们美致讲解了可以式解的原理,它的用法非常简单,一条命令就
可以完成加锁操作。但是,在集群环境下,这种方法是有的,它并不是
绝对安全的。
例如,在Sentinel集群中,当主节点挂掉时,从节点接管,客户端没
有任何明显的感知。第一个客户端成功在主节点申请了锁,但是这
个锁还没有到达并与从节点同步,主节点突然挂掉了。
但这种不安全感也只发生在主机发生故障转移的情况下,且持续时
间极短,大多数情况下业务系统都可以保存。
Redlock算法
为了解决这个问题,Antirez发明了Redlock算法,它的流程⽐较
复杂,不过已经有了很多开源的library做了良好的封装,⽤户可以
拿来即⽤,⽐如redlock-py。
importredlock
addrs=[{
host:localhost,
port:6379,
db:0
},{
host:localhost,
port:6479,
db:0
},{
host:localhost,
port:6579,
db:0
}]
dlm=redlock.Redlock(addrs)
success=dlm.lock(user-lck-laoqian,5000)
ifsuccess:
printlocksuccess
dlm.unlock(user-lck-laoqian)
else:
printlockfailed
为了使⽤Redlock,需要多个Redis实例,这些实例之前相互
独⽴没有主从关系。同很多分布式算法⼀样,redlock也使⽤「大多
数机制」。
为了解决这个问题,Antirez发明了Redlock算法,它的流程比较复杂,
但是它已经有很多封装好的开源库,所以用户可以使用,比如
redlock‑py。
进口红锁
地址=[{
“主机”:“本机”,
“端口”:6379,
“数据库”:
0
},{
“主机”:“本机”,
“端口”:6479,
“数据库”:
0
},{
“主机”:“本机”,
“端口”:6579,
“数据库”:
0
]
dlm=redlock.Redlock(addrs)
成功
您可能关注的文档
- 高等数学二2009—2010学年第二学期期末考试题.pdf
- 数与代数知识回顾及运算律总结.pdf
- 澳门回归历史与“”方针探析.pdf
- 微专题英语练习:阅读理解与完形填空.pdf
- ND900下部座椅连接件材料清单及声明.pdf
- 诫子书:诸葛亮劝诫八岁幼子家训与修身之道.pdf
- 语文作业课件单元三:字音字义与文学常识.pdf
- Sentaurus TCAD软件学习与仿真工程实例.pdf
- P10单红控制LED显示屏使用说明.pdf
- Matlab数值计算练习第1次课内容摘要.pdf
- 3.1笔墨之美 课件 2025湘美版美术八年级上册.pptx
- 4.10认识船(教学课件)科学人教鄂教版二年级上册2025.pptx
- 第12课《 巧妙化解冲突》 课件 北师大版心理健康八年级上册.pptx
- 浙教版信息科技四年级下册全册教学设计教案.docx
- 2.3游戏中的观察(教学课件)科学教科版一年级上册2025.pptx
- 第13课《 合作的秘诀》课件 北师大版心理健康七年级上册.pptx
- 5.24 制作“冰琥珀”(教学课件)科学青岛版五四制三年级上册2025.pptx
- 人自然社会第9课《面对考试,你准备好了吗》课件.pptx
- 浙教版信息科技四年级下册全册学习任务单.docx
- 4.10认识船(教学课件)科学人教鄂教版二年级上册2025.ppt
原创力文档


文档评论(0)