主备数据库集群及选主方法、计算设备及计算机存储介质技术

技术编号:37888133 阅读:19 留言:0更新日期:2023-06-18 11:52
本发明专利技术公开了一种主备数据库集群及其选主方法、计算设备及计算机存储介质,包括:第一节点的第一选主组件定期执行资源锁的续约操作,判断续约操作是否在第一预设时间阈值内成功,若是,则将资源锁的续约时间更新为当前时间;若否,则第一节点杀掉数据库进程,并以只读方式重启数据库进程,触发执行第一节点的主切备操作;第二节点的第二选主组件定期轮询资源锁的续约时间,判断当前时间与续约时间的时间差是否超过第二预设时间阈值,若是,触发执行第二节点的备切主操作。本发明专利技术以分布式锁作为第三方选主逻辑,基于该逻辑在主备集群选主过程中进行自动化状态检测和主备切换,确保了持续监测和主备切换能力,提升了主备集群的健壮性及可用性。性及可用性。性及可用性。

【技术实现步骤摘要】
主备数据库集群及选主方法、计算设备及计算机存储介质


[0001]本专利技术涉及数据库
,具体涉及一种主备数据库集群及其选主方法、计算设备及计算机存储介质。

技术介绍

[0002]随着云原生技术的发展,数据库上云已经成为一种趋势,在容器环境下,主备架构数据库集群的高可用性面临更多的挑战。容器的弹性特性以及容器网络的波动性很容易导致数据库集群挂掉或者出现脑裂,并且对数据库集群进行自动检测及主动修复也会面临更多的难度。比如,当Kubernetes内部DNS解析出现问题时,主备间的网络将会阻塞,备节点误以为主节点已经挂掉而将自己提升为主节点,进而导致脑裂的发生。
[0003]当前常用的容器化方法是基于Kubernetes内置的StatefulSet资源实现,StatefulSet用于实现有状态的应用。例如,在启动MySQL主备集群的yaml(YAML Ain't Markup Language,简称yaml,一种数据序列化语言,可配合大多数编程语言使用,多应用于编写配置文件)文件中,通常会定义一系列包括检测数据库实例状态以及进行主备切换的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种主备数据库集群的选主方法,其特征在于,所述方法包括:第一节点的第一选主组件定期执行资源锁的续约操作,判断续约操作是否在第一预设时间阈值内成功,若是,则将资源锁的续约时间更新为当前时间;若否,则所述第一节点杀掉数据库进程,并以只读方式重启数据库进程,触发执行第一节点的主切备操作;第二节点的第二选主组件定期轮询资源锁的续约时间,判断当前时间与续约时间的时间差是否超过第二预设时间阈值,若是,触发执行第二节点的备切主操作。2.根据权利要求1所述的方法,其特征在于,在所述第一节点杀掉数据库进程,并以只读方式重启数据库进程之后,所述方法还包括:所述第一节点的第一选主组件检查集群是否产生新的主节点;则所述触发执行第一节点的主切备操作具体包括:若所述第一节点的第一选主组件检查集群产生新的主节点,则触发执行所述第一节点的主切备操作;则在所述以只读方式重启数据库进程之后,所述方法还包括:若所述第一节点的第一选主组件检查集群没有产生新的主节点,则尝试获取资源锁并执行作为主节点的操作。3.根据权利要求1所述的方法,其特征在于,所述触发执行第一节点的主切备操作进一步包括:将第一节点的数据库设置为只读方式;执行与切换为主节点的第二节点建立主备关系的操作。4.根据权利要求1所述的方法,其特征在于,在所述触发执行第二节点的备切主操作之前,所述方法还包括:执行备切主的准备操作。5.根据权利要求4所述的方法,其特征在于,所述执行备切主的准备操作进一步包括:关闭主备之间的复制操作;清空主备配置信息;根据数据库日志确保和所述第一节点的数据库保持一致。6.根据权利要求4所述的方...

【专利技术属性】
技术研发人员:张刚
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1