【技术实现步骤摘要】
主备节点切换方法、装置、设备、介质及程序产品
[0001]本公开涉及计算机
,尤其涉及网络通信领域,具体涉及一种主备节点切换方法、装置、设备、介质及程序产品。
技术介绍
[0002]高可用性是衡量应用服务质量高低的重要标准,为了保证应用服务的高可用性,经常需要进行多实例部署。
[0003]在一些场景下业务任务具有全局唯一性要求。因此,同时考虑应用服务的高可用性以及任务的互斥性对于业务的正常处理十分重要。
技术实现思路
[0004]本公开提供了一种用于主备节点切换方法、装置、设备、介质及程序产品。
[0005]根据本公开的一方面,提供了一种主备节点切换方法,所述方法包括:
[0006]响应于接收到备机切主信号,获取分布式锁;所述备机切主信号用于将当前节点由备节点切换为主节点;所述分布式锁用于在所述当前节点获取到分布式锁的情况下,阻塞当前节点所属应用服务中其他节点获取分布式锁的操作;
[0007]在获取到所述分布式锁的情况下,将所述当前节点由备节点切换为主节点。
[0008]根据本公开的另一方面,提供了一种主备节点切换装置,所述装置包括:
[0009]分布式锁获取模块,用于响应于接收到备机切主信号,获取分布式锁;所述备机切主信号用于将当前节点由备节点切换为主节点;所述分布式锁用于在所述当前节点获取到分布式锁的情况下,阻塞当前节点所属应用服务中其他节点获取分布式锁的操作;
[0010]第一主备切换模块,用于在获取到所述分布式锁的情况下,将所述当前 ...
【技术保护点】
【技术特征摘要】
1.一种主备节点切换方法,包括:响应于接收到备机切主信号,获取分布式锁;所述备机切主信号用于将当前节点由备节点切换为主节点;所述分布式锁用于在所述当前节点获取到分布式锁的情况下,阻塞当前节点所属应用服务中其他节点获取分布式锁的操作;在获取到所述分布式锁的情况下,将所述当前节点由备节点切换为主节点。2.根据权利要求1所述的方法,其中,所述响应于接收到备机切主信号,获取分布式锁,包括:响应于当前节点的中间件客户端接收到备机切主信号,当前节点的中间件客户端获取所述分布式锁;或者,响应于监控器接收到备机切主信号,监控器获取所述分布式锁。3.根据权利要求2所述的方法,其中,所述响应于监控器接收到备机切主信号,监控器获取所述分布式锁,包括:响应于监控器接收到当前节点的中间件客户端发送的备机切主信号,所述监控器获取所述分布式锁。4.根据权利要求3所述的方法,其中,所述当前节点包括所述监控器。5.根据权利要求1
‑
4中任一所述的方法,其中,所述响应于接收到备机切主信号,获取分布式锁,包括:响应于接收到备机切主信号,获取所述当前节点的内存级锁;所述内存级锁用于阻塞当前节点中除获取到内存级锁的线程外,其他线程获取内存级锁的操作;在获取到所述内存级锁的情况下,获取当前节点所属应用服务关联的至少一个节点的节点状态;所述节点状态包括主节点状态和备节点状态,其中,处于主节点状态的节点是持有分布式锁的节点;在所述至少一个节点的节点状态均为备节点状态的情况下,将所述当前节点的节点状态更新为主节点状态,以获取到所述分布式锁。6.根据权利要求5所述的方法,其中,所述响应于接收到备机切主信号,获取所述当前节点的内存级锁,包括:响应于第一等待线程接收到备机切主信号,所述第一等待线程被激活,以获取到所述当前节点的内存级锁;其中,所述第一等待线程用于等待接收备机切主信号。7.根据权利要求1
‑
4中任一所述的方法,在将所述当前节点由备节点切换为主节点之后,还包括:将工作线程调整至第二等待线程;所述第二等待线程用于等待接收主机切备信号;所述主机切备信号用于将当前节点由主节点切换为备节点。8.根据权利要求7所述的方法,还包括:响应于接收到主机切备信号,将当前节点由主节点切换为备节点;释放所述分布式锁。9.根据权利要求8所述的方法,其中,所述释放所述分布式锁,包括:将所述当前节点的节点状态更新为备节点状态,以释放所述分布式锁。10.一种主备节点切换装置,包括:
分布式锁获取模块,用于响应于接收到备机切主信号,获取分布式锁;所述备机切主信号用于将当前节点由备节点切换为主节点;所述分布式锁用于在所述当前节点获取到分布式锁的情况下,阻塞当前节点所属应用服务中其他节点获取分布式锁的操作;第一主备切换模块,用于在所述当前节点获取到所述分布式锁的情况下,将所述当前节点由备节点切换为主节点。11.根据权利要求10所述的装置,其...
【专利技术属性】
技术研发人员:索兵,王玉林,刘梦博,冯智,屈静,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。