基于Consul、Bind和MGR的数据存储方法、系统、存储介质、电子设备及应用技术方案

技术编号:36774336 阅读:17 留言:0更新日期:2023-03-08 21:56
本发明专利技术属于计算机数据存储技术领域,尤其为一种基于Consul、Bind和MGR的数据存储方法、系统、存储介质、电子设备及应用,该基于Consul、Bind和MGR的数据存储方法在MySQL数据库的各数据库实例中布置Consul服务发现模块,各Consul服务发现模块在MySQL数据库中形成Consul集群,并在各数据库实例中布置MGR模块,使得各数据库实例中作为一个MGR节点,MySQL数据库中形成MGR集群,Consul集群可以根据MGR节点自身的角色定义读写和只读节点,用于业务读写分离,提高数据库的访问和存储能力,而MGR集群实现了各数据库实例中数据的最终一致性,数据的存储得到安全保障,特别能够满足金融行业对数据一致性、业务连续性的要求,以及数据库开源可控等要求。开源可控等要求。开源可控等要求。

【技术实现步骤摘要】
基于Consul、Bind和MGR的数据存储方法、系统、存储介质、电子设备及应用


[0001]本专利技术属于计算机数据存储
,具体涉及一种基于Consul、Bind和MGR的数据存储方法、系统、存储介质、电子设备及应用。

技术介绍

[0002]MySQL是一种关系型数据库管理系统,且是最流行的关系型数据库管理系统之一,其具有体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,所以一般中小型和大型网站的开发都选择MySQL作为网站数据库。
[0003]常见的MySQL数据库高可用架构,例如主从+Keepalived架构或者MHA架构,这类架构由于M

S(主从配置)的限制,在灾难问题发生情况下主从设备切换时,可能无法保证主从数据一致性,存在丢失数据的风险。
[0004]其中,主从+Keepalived架构中Keepalived软件的作用是检测服务器的状态,他是以VRRP协议为实现基础的,该架构中有一个Master(主设备)和多个Slave(从设备),Master上面有一个对外提供服务的VIP功能,该功能使得Master会发组播,当Slave收不到VRRP包时就认为Master宕掉了,这时就需要根据VRRP的优先级来选举一个Slave当Master,当故障发生时,VIP功能自动漂移到选出的Slave上面,且通过Keepalived软件的状态脚本自动将其切换成Master,Keepalived软件状态切换脚本需要SSH(安全外壳协议)和MySQL免密登录的支持,切换原理是当Slave检测到自己成为Master角色时,会自动执行MySQL的切换命令。
[0005]MHA架构由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点),其中,MHA Manager可以单独部署在一台独立的机器上管理多个Master

Slave(主从设备)集群,也可以部署在一台Slave节点上,生产环境中多数单独部署。MHA Node运行在每个MySQL服务器上,MHA Manager会定时探测集群中的Master节点,当Master出现故障时,它可以自动将判断最新数据的Slave提升为新的Master,并将所有其他的Sslave重新指向新的Master。在一个Master Node崩溃时,MHA Manager负责Master

Slave Auto

failover(主从设备自动故障转移),此过程需要执行MySQL复制,默认情况下,MySQL复制是异步的,MHA Manager试图从宕机的主服务器(Master)上保存二进制日志,通过SSH(安全外壳协议)对成为主服务器的Slave补齐日志,所以需要root服务器(开启主服务器和从服务器的权限),同时启停服务器的VIP功能,如果主服务器崩溃,则它已提交的事务可能尚未传输到任何从服务器,因此,在这种情况下从主服务器到从服务器的故障转移可能导致事务丢失,所以通常还需要使用半同步替代异步,与半同步复制相结合,可以降低由于主硬件故障导致数据丢失的风险。
[0006]无论是上面的主从+Keepalived架构还是上面的MHA架构,都是基于MySQL数据库的主从复制技术,无论是半同步复制还是无损半同步复制都无法保证数据库一致性,都有丢失数据的风险。

技术实现思路

[0007]本专利技术旨在提供一种一种基于Consul、Bind和MGR的数据存储方法、系统、存储介质、电子设备及应用,解决现有技术中MySQL数据库的架构具有丢失数据的风险的技术问题。
[0008]为解决上述技术问题,本专利技术采用以下技术方案:
[0009]提供一种基于Consul、Bind和MGR的数据存储方法,包括:
[0010]建立MySQL数据库,所述MySQL数据库设有多个数据库实例,每一个数据库实例能够提供单独的数据存储和数据查询服务;
[0011]在各所述数据库实例中布置Consul服务发现模块,各Consul服务发现模块在所述MySQL数据库中形成Consul集群;
[0012]在各所述数据库实例中布置MGR模块,使得各数据库实例中作为一个MGR节点,所述MySQL数据库中形成MGR集群;
[0013]以主从架构布置两台DNS服务器,这两台DNS服务器分别为主Bind DNS服务器和从Bind DNS服务器,所述从Bind DNS服务器用于在所述主Bind DNS服务器出现故障时替代所述主Bind DNS服务器的工作;
[0014]当客户端访问所述MySQL数据库时,客户端连接到所述主Bind DNS服务器进行域名解析,所述主Bind DNS服务器通过所述Consul集群发现所述MGR集群中的读写节点以及只读节点,并通过域名自动连接到相应的MGR节点;
[0015]当客户端发起一个更新事务时,该事务先在连接的MGR节点本地执行,执行完成之后发起对该事务的提交操作,提交操作时,将该事务广播出去复制到其它MGR节点成员,经过MGR集群内大多数MGR节点决议并通过,才能得以提交,然后所有MGR节点执行该事务的更新,保证MGR集群内各MGR节点数据一致性。
[0016]优选的,各所述数据库实例布置在不同的主机上;所述主Bind DNS服务器和从Bind DNS服务器布置在不同的主机上。
[0017]本专利技术还提供一种基于Consul、Bind和MGR的数据存储系统,包括MySQL数据库、Consul集群、MGR集群和DNS服务器,所述MySQL数据库设有多个数据库实例,每一个数据库实例能够提供单独的数据存储和数据查询服务;在各所述数据库实例中布置Consul服务发现模块,各Consul服务发现模块在所述MySQL数据库中形成Consul集群;
[0018]在各所述数据库实例中布置MGR模块,使得各数据库实例作为一个MGR节点,在所述MySQL数据库中形成MGR集群;所述DNS服务器包括以主从架构布置的两台DNS服务器,这两台DNS服务器分别为主Bind DNS服务器和从Bind DNS服务器,所述从Bind DNS服务器用于在所述主Bind DNS服务器出现故障时替代所述主Bind DNS服务器的工作;
[0019]当客户端访问所述MySQL数据库时,客户端连接到所述主Bind DNS服务器进行域名解析,所述主Bind DNS服务器通过所述Consul集群发现所述MGR集群中的读写节点以及只读节点,并通过域名自动连接到相应的MGR节点;当客户端发起一个更新事务时,该事务先在连接的MGR节点本地执行,执行完成之后发起对该事务的提交操作,提交操作时,将该事务广播出去复制到其它MGR节点成员,经过MGR集群内大多数MGR节点决议并通过,才能得以提交,然后所有MGR节点执行该事务的更新,保证MGR集群内各MGR节点数据一致性。
[0020]本专利技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机
程序,所述计算机程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Consul、Bind和MGR的数据存储方法,其特征在于,包括:建立MySQL数据库,所述MySQL数据库设有多个数据库实例,每一个数据库实例能够提供单独的数据存储和数据查询服务;在各所述数据库实例中布置Consul服务发现模块,各Consul服务发现模块在所述MySQL数据库中形成Consul集群;在各所述数据库实例中布置MGR模块,使得各数据库实例中作为一个MGR节点,所述MySQL数据库中形成MGR集群;以主从架构布置两台DNS服务器,这两台DNS服务器分别为主Bind DNS服务器和从Bind DNS服务器,所述从Bind DNS服务器用于在所述主Bind DNS服务器出现故障时替代所述主Bind DNS服务器的工作;当客户端访问所述MySQL数据库时,客户端连接到所述主Bind DNS服务器进行域名解析,所述主Bind DNS服务器通过所述Consul集群发现所述MGR集群中的读写节点以及只读节点,并通过域名自动连接到相应的MGR节点;当客户端发起一个更新事务时,该事务先在连接的MGR节点本地执行,执行完成之后发起对该事务的提交操作,提交操作时,将该事务广播出去复制到其它MGR节点成员,经过MGR集群内大多数MGR节点决议并通过,才能得以提交,然后所有MGR节点执行该事务的更新,保证MGR集群内各MGR节点数据一致性。2.根据权利要求1所述的基于Consul、Bind和MGR的数据存储方法,其特征在于:各所述数据库实例布置在不同的主机上;所述主Bind DNS服务器和从Bind DNS服务器布置在不同的主机上。3.一种基于Consul、Bind和MGR的数据存储系统,其特征在于,包括MySQL数据库、Consul集群、MGR集群和DNS服务器,所述MySQL数据库设有多个数据库实例,...

【专利技术属性】
技术研发人员:康壮李端峰
申请(专利权)人:辽宁振兴银行股份有限公司
类型:发明
国别省市:

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

1