MySQL集群高可用系统及设备技术方案

技术编号:37715023 阅读:20 留言:0更新日期:2023-06-02 00:10
本发明专利技术公开了一种MySQL集群的高可用系统及设备,属于高可用架构技术领域技术领域,该系统包括:MySQL

【技术实现步骤摘要】
MySQL集群高可用系统及设备


[0001]本专利技术涉及高可用架构
,尤其涉及一种MySQL集群高可用系统及设备。

技术介绍

[0002]kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用。MySQL是一种关系型数据库管理系统,MySQL将数据保存在不同的库中,可以提高数据读写速度并提高了灵活性。MySQL数据库通过容器化部署在kubernetes平台后,由于虚拟网络的存在,kubernetes集群内外无法直接通信,导致部署在kubernetes集群外的POD无法管理kubernetes集群内的容器化的MySQL集群。若将POD容器化并部署在kubernetes集群内,则同样需要将POD的元数据库部署在容器内,这将大大增加系统的复杂度和维护成本。

技术实现思路

[0003]本专利技术提供一种MySQL集群高可用系统及设备及存储介质,旨在解决kubernetes集群实例在容器内外无法直接通信的技术问题,提高系统的灵活性和可用性。
[0004]为实现上述目的,本专利技术提供一种MySQL集群高可用系统,所述系统包括:
[0005]MySQL

Operator和备份服务;
[0006]所述MySQL

Operator包括controller和MySQL custom resource;
[0007]所述MySQL custom resource包括MySQL集群实例,并且定义了所述MySQL集群实例的MySQL集群信息,所述MySQL集群信息包括集群声明和集群状态;
[0008]所述MySQL集群实例包括物理机实例和容器实例。
[0009]可选地,所述物理机实例的物理机POD存储于persistent volume,所述容器实例的容器POD存储于local volume。
[0010]可选地,所述集群声明包括POD数量、MySQL集群实例部署环境、MySQL配置文件。
[0011]可选地,所述POD数量包括POD总数、物理机POD数量、容器POD数量;
[0012]所述MySQL集群实例部署环境包括物理机环境和容器环境。
[0013]可选地,所述集群状态包括MySQL集群实例运行中的关键信息;
[0014]所述关键信息包括存储所述MySQL集群实例的集群角色,所述集群角色包括主库、从库、候选主库。
[0015]可选地,所述controller包括:
[0016]informer模块,用于读取并监听所述MySQL集群实例的集群状态;
[0017]MySQL采集模块,用于周期性采集所述MySQL集群实例的状态,并更新候选主库,以供主库发生故障时将所述主库中的MySQL集群实例转移至所述候选主库;
[0018]事件处理模块,用于获取所述集群状态,并基于所述集群状态对所述MySQL集群实例执行预设操作。
[0019]可选地,所述预设操作包括集群部署、实例扩容和故障转移。
[0020]可选地,所述故障转移包括集群主库故障转移和集群从库故障转移;
Processing Unit、CPU),通信总线1002,输入端口1003,输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出,存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本专利技术的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0040]继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操作系统、网络通信模块、应用程序模块以及MySQL集群高可用程序。在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001用于调用存储器1005中存储的MySQL集群高可用系统。
[0041]基于上述MySQL集群高可用设备提出本专利技术MySQL集群高可用系统的第一实施例。请参照图2,图2是本专利技术MySQL集群高可用系统第一实施例的结构示意图。
[0042]如图1所示,本专利技术第一实施例提出一种MySQL集群高可用系统,所述MySQL集群高可用系统包括:
[0043]MySQL

Operator和备份服务;
[0044]所述MySQL

Operator包括controller和MySQL custom resource;
[0045]所述MySQL custom resource包括MySQL集群实例,并且定义了所述MySQL集群实例的MySQL集群信息,所述MySQL集群信息包括集群声明和集群状态;
[0046]所述MySQL集群实例包括物理机实例和容器实例。
[0047]其中,备份服务用于实时备份所述MySQL集群实例。MySQL集群实例的扩缩容时依赖备份服务,从备份服务中恢复MySQL集群实例。
[0048]具体地,MySQL集群高可用系统分为两个部分:MySQL

Operator和backup service(备份服务)。MySQL

Operator是由kubernetes平台的CRD(Custom Resource Definition,用户自定义资源)和controller组成,主要用于定义、部署、管理MySQL集群。
[0049]如图1所示,MySQL

Operator包括controller和MySQL custom resource,其中MySQL custom resource是kubernetes定制化资源的一种实现,可以自定义MySQL集群实例以及对应的API(Application Program Interface,应用程序接口)。
[0050]一般地,定义了MySQL集群实例的MySQL集群信息,所述MySQL集群信息包括集群声明和集群状态。
[0051]其中,集群声明包括POD数量、MySQL集群实例部署环境、MySQL配置文件。POD是kubernetes中做小的管理单元,Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。kubernetes不是直接运行容器,而是操作POD,一个POD里面运行的容器只能同时运行在一个节点上。
[0052]所述POD数量包括POD总数、物理机POD数量、容器POD数量;
[0053]所述MySQL集群实例部署环境包括物理机环境和容器环境;
[0054]所述集群状态包括MySQL集群实例运行中的关键信息;
[0055]所述关键信息包括存储所述MySQ本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MySQL集群的高可用系统,其特征在于,所述系统包括:MySQL

Operator和备份服务;所述MySQL

Operator包括controller和MySQL custom resource;所述MySQL custom resource包括MySQL集群实例,并且定义了所述MySQL集群实例的MySQL集群信息,所述MySQL集群信息包括集群声明和集群状态;所述MySQL集群实例包括物理机实例和容器实例。2.根据权利要求1所述的系统,其特征在于,所述物理机实例的物理机POD存储于persistent volume,所述容器实例的容器POD存储于local volume。3.根据权利要求1所述的系统,其特征在于,所述集群声明包括POD数量、MySQL集群实例部署环境、MySQL配置文件。4.根据权利要求3所述的系统,其特征在于,所述POD数量包括POD总数、物理机POD数量、容器POD数量;所述MySQL集群实例部署环境包括物理机环境和容器环境。5.根据权利要求1所述的系统,其特征在于,所述集群状态包括MySQL集群实例运行中的关键信息;所述关键信息包括存储所述...

【专利技术属性】
技术研发人员:亓晓林骆维陈存利
申请(专利权)人:度小满科技北京有限公司
类型:发明
国别省市:

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

1