1 .一种高可用数据库管理的方法,其特征在于,应用于至少两个机房,一个所述机房对
应一个MySQL实例,所述MySQL实例构成MySQL集群,所述MySQL集群中有一个主MySQL实例,
所述MySQL集群中有至少一个从MySQL实例,一个所述机房对应一个Orchestrator节点,所
述Orchestrator节点构成Orchestrator集群,一个所述机房对应一个Consul节点,所述
Consul节点构成Consul集群,所述Consul集群存储有所述MySQL实例的第一注册信息,所述
第一注册信息包括节点状态和节点角色,节点状态包括非MySQL集群成员和MySQL集群成
员,节点角色包括主角色;
所述方法包括:
通过所述Orchestrator节点对所述MySQL集群的健康状态进行监控,得到目标监控结
果;所述目标监控结果包括第一监控结果,所述第一监控结果用于表征当前的所述主MySQL
实例已故障;
若所述目标监控结果为所述第一监控结果,则将所述Consul集群中的所述主MySQL实
例的所述节点状态修改为非MySQL集群成员;
通过所述Orchestrator节点对至少一个所述从MySQL实例进行筛选,得到选定MySQL实
例;
将所述Consul集群中的所述选定MySQL实例的所述节点角色修改为主角色;
若接收到访问请求,读取在所述Consul集群中的所述第一注册信息,以得到每一所述
MySQL实例的节点状态和每一所述MySQL实例的节点角色;
根据所述节点状态和所述节点角色对所述MySQL实例进行筛选,将所述节点状态为
MySQL集群成员且所述节点角色为所述主角色的所述MySQL实例作为新的所述主MySQL实
例,并将所述访问请求发送至新的所述主MySQL实例。
2.根据权利要求1所述的方法,其特征在于,每一所述机房包括至少两台机器,至少两
台所述机器中有一台主机器,所述主机器绑定了虚拟网络地址,一个所述机房对应一个
HAProxy集群 ,所述HAProxy集群包括至少两个HAProxy进程 ,一个所述机器对应一个
HAProxy进程,所述若接收到访问请求,读取在所述Consul集群中的所述第一注册信息,包
括:
通过所述虚拟网络地址将访问请求发送给所述主机器的所述HAProxy进程;
若通过所述HAProxy进程接收到所述访问请求 ,通过所述HAProxy进程读取在所述
Consul集群中的所述第一注册信息。
3 .根据权利要求2所述的方法,其特征在于,一个所述机房对应一个Keepalived集群,
所述Kee pa lived集群包括至少两个Keepalived 节点 ,一个所述机器对应一个所述
Keepalived节点,在所述通过所述虚拟网络地址将访问请求发送给所述主机器的所述
HAProxy进程之前,所述方法还包括:
通过Keepalived集群对所述主机器进行健康状态检测,得到机器状态检测结果;
若所述机器状态检测结果为非健康状态,则将所述虚拟网络地址绑定在至少两台所述
机器中的另一个,得到新的所述主机器。
4 .根据权利要求3所述的方法,其特征在于,所述通过Keepalived集群对所述主机器进
行健康状态检测,得到机器状态检测结果,包括:
通过至少两台所述机器之间的Keepal ived节点互发心跳信息;若未接收到来自所述
权 利 要 求 书
1/2 页
2
评论