一 、 解决问题
解决mysq l 数据库主库 单点问题, 缩短故障处理以及DB 置换时间
二 、Consul+MHA的优势
⑴ MHA 使用已比较成熟可手工或自动进行切换,简单实用
⑵ MHA 不侵入 SQL ,对 MySQL 的性能不会产生影响
⑶ 利用MHA 注册 kv 到 Consul ,感知 master 的变化,实现业务的自动转移
三 、具体架构方案图
注解:
⑴ MHA Manager 感知主库故障,切换后,将新的主库信息注册的 consul 集群
⑵ 业务通过Consul 提供的 http API 获取新的主库信息,实现业务容灾
图参考了杨建荣大佬的一部分,因为自己画图太丑了
四 、接入效果
⑴具体效果如图
(2) Consul 提供业务的接口与安全设置
① 业务接口(http) :
curl -X GET -H 'X-Consul-Token: 46ed56dd-8cxxxxxxx' http://X.X.X.23:8500/v1/kv/mha/master/test1
② 安全设置:
采用Consul 的 token 方式,限制业务的权限,如图 :
本想把业务代码贴上,但是涉及公司部分信息,暂时不上传了