Redis是当前最流行的key-store,主要用于实现分布式锁的技术(参考),但也存在严重的崩溃风险。瞬间崩溃可能会导致巨大的损失,从而影响业务系统的正常运行,因此分布式锁及其备选方案在分布式环境中至关重要,有效控制Redis崩溃的风险是必不可少的。
有时候,在特定情况下,即使Redis存在无法状态,业务系统也不需要重启,因此可以考虑其他的分布式锁的备选方案,以便在Redis崩溃时被自动激活,以便把系统保持正常。
市面上比较常见的两种经典分布式锁备选方法,可以提供实现自动转换分布式锁:
– 数据库乐观锁。数据库乐观锁是一种基于数据库实现的分布式锁,通过利用数据库行级粒度锁定来实现,是一种低代价的分布式锁实现方式,一般可以有较高的性能表现,也可以有较高的并发度。走乐观锁方式的实现的时候,需要表单增加一个版本字段,当数据更新时需要把版本字段+1更新,锁定时根据版本字段来判断数据是否被修改。这种备选方法能有效防范Redis宕机造成系统中断的问题。
– Zookeeper方式,通过像Zookeeper这样的关键系统,将数据放在一个集中的节点,然后利用临时分布式锁的方式进行管理。此方案能有效的防止Redis宕机造成系统崩溃,但是由于Zookeeper的开销较大,对系统的性能也不会有明显的提升,在运行的时候也会有明显的性能损耗。
实际上,用户还可以混合采用多种分布式锁的备选方法,以结合上述两种方法,充分利用它们的优势,比如:可以增加数据库缓存层,用以缓解Zookeeper的负担,减少对Redis存储的依赖,从而降低Redis崩溃所产生的损失。
综上所述,数据库乐观锁与Zookeeper方式都可以作为Redis崩溃时分布式锁备选方案,辅助系统达到运行正常的目标。同时,用户可以采取混合的方式,结合上述两种方法的优势,更好的降低分布式系统崩溃的风险,以及提高业务系统的可用性。
成都服务器租用选创新互联,先试用再开通。
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。物理服务器托管租用:四川成都、绵阳、重庆、贵阳机房服务器托管租用。
当前名称:redis崩溃分布式锁的备选方案(分布式锁 redis挂了)
文章转载:http://www.shufengxianlan.com/qtweb/news20/464620.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联