分布式锁容灾处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35450112 阅读:30 留言:0更新日期:2022-11-03 12:04
本发明专利技术提供了一种分布式锁容灾处理方法、装置、电子设备及存储介质,该方法应用于锁客户端中,对分布式锁服务集群进行容灾处理,分布式锁服务集群包括多个服务节点,每个服务节点配置有多个分组,任意两个服务节点配置的分组相同,不同分组的主节点在多个服务节点中均匀分布,包括:根据锁操作请求中的锁标识,确定与锁标识对应的目标分组,根据节点分组信息,确定目标分组对应的目标主节点;若锁客户端与目标主节点之间通信故障,根据节点分组信息确定与目标主节点对应的候选节点;将锁操作请求发送至候选节点,使得候选节点在目标分组中启动锁操作的同步处理。本发明专利技术解决了主节点故障时无法提供服务的问题,提高了分布式锁操作服务的容灾能力。务的容灾能力。务的容灾能力。

【技术实现步骤摘要】
分布式锁容灾处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及分布式系统
,尤其涉及一种分布式锁容灾处理方法、装置、电子设备及存储介质。

技术介绍

[0002]在分布式部署的应用集群中,经常会存在一些业务场景,为了保证某些业务逻辑的准确性,或者避免某些逻辑被重复执行,需要限制多个应用进程或线程对共享数据资源进行互斥访问,例如秒杀下单、商品抢购等场景,通常的解决方案是引入分布式锁技术。
[0003]现有技术中,可以通过Redis或者Zookeeper来实现分布式锁。通过Redis实现的分布式锁包括Redisson Lock和RedLock。Redisson Lock提供了丰富的锁操作接口,服务端单主(Master)节点提供服务,主从节点数据基于异步复制机制,具有很高的并发能力,但是,由于主从节点基于异步复制机制,数据同步存在延迟,保证不了主从节点间数据的强一致性;当主节点宕掉时,锁状态可能没及时同步到从节点,主节点切换到从节点继续提供服务时,有可能会导致锁的互斥性被破坏,可靠性比较低。为了弥补Redisson Lock在本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式锁容灾处理方法,其特征在于,应用于锁客户端中,对分布式锁服务集群进行容灾处理,所述分布式锁服务集群包括多个服务节点,每个所述服务节点配置有多个分组,任意两个所述服务节点配置的分组相同,不同分组对应的主节点在所述多个服务节点中均匀分布,所述方法包括:根据锁操作请求中的锁标识,确定与所述锁标识对应的目标分组,并根据节点分组信息,确定所述目标分组对应的目标主节点;若所述锁客户端与所述目标主节点之间通信故障,则根据所述节点分组信息确定与所述目标主节点对应的候选节点;将所述锁操作请求发送至所述候选节点,使得所述候选节点在所述目标分组中启动锁操作的同步处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述节点分组信息确定与所述目标主节点对应的候选节点,包括:根据所述节点分组信息,将与所述目标主节点相邻的下一个服务节点确定为所述候选节点。3.根据权利要求1或2所述的方法,其特征在于,在所述若所述锁客户端与所述目标主节点之间通信故障,则锁客户端根据所述节点分组信息确定所述目标主节点对应的候选节点之前,还包括下述其中一种:在接收到所述目标主节点发送的关闭命令时,确定所述锁客户端与所述目标主节点之间通信故障;在捕获到连接关闭信号时,确定所述锁客户端与所述目标主节点之间通信故障;在将所述锁操作请求发送至所述主节点的失败次数达到次数阈值时,确定所述锁客户端与所述目标主节点之间通信故障。4.根据权利要求3所述的方法,其特征在于,所述候选节点接收到所述锁操作请求后,若在所述目标分组中未选举出新的主节点,则所述候选节点基于所述锁操作请求,向所述目标分组中的其他服务节点发送锁同步操作请求。5.根据权利要求3所述的方法,其特征在于,在所述将所述锁操作请求发送至所述候选节点之后,还包括:接收所述候选节点发送来的新的主节点信息,所述新的主节点信息是所述候选节点在所述目标分组中选举出新的主节点且所述新的主节点是所述候选节点以外的服务节点时发送的;根据所述新的主节点信息,将所述锁操作请求重新发送至所述新的主节点,由所述新的主节点向所述目标分组中的其他服务节点发送锁同步操作请求。6.根据权利要求3所述的方法,其特征在于,在所述将所述锁操作请求发送至所述候选节点之后,还包括:接收注册中心服务器发送来的所述目标分组中新的主节点信息,所述注册中心服务器用于管理所述分布式锁服务集群。7.根据权利要求1或2所述的方法,其特征在于,在所述若所述锁客户端与所述目标主节点之间通信故障,则根据所述节点分组信息确...

【专利技术属性】
技术研发人员:刘丹胡国才闫城哲
申请(专利权)人:北京城市网邻信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1