proxysql 系列 ~ 高可用架构

Posted 开心的蛋黄派

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了proxysql 系列 ~ 高可用架构相关的知识,希望对你有一定的参考价值。

一 整体架构
二 proxysql层
    proxysql+keepalived对外提供vip
    1  这里有一点要注意,虽然keepalived有脑裂危险,但是对于向proxysql这种无状态中间件确实没什么影响

    2  需要维护至少两份配置文件,保证每个节点的配置文件都唯一
mysql
     mysql+mha做故障转移
四 proxysql故障转移原理
    0 定义好mysql集群写服务器组合读服务器组的对应关系
    1 proxysql监控读mysql的read_only值
    2 如果发现从库的 read_only 变为0、主库变为1,则认为角色互换了,自动改写 mysql_servers 表里面 hostgroup 关系,达到自动 Failover 效果。
五 优势
   1 MHA不再需要VIP,避免脑裂风险
   2 proxysql动态维护mysql_server表
六 整体过程
   1 主库down机,触发MHA切换
   2 MHA切换完成,新主会设置成read_only=0
   3 proxysql监控到read_only=0,动态更改mysql_servers(更改原主和新主的hostgroup_id)
   4 集群继续提供服务
   5 修复旧主
          1 以只读方式启动旧主
           2 根据MHA日志修复旧主(如果是GTID复制,直接change即可)
    6 proxysql可以动态调整权重,减少主库读比例
六 注意点
   1 当MHA切换后,旧主启动前一定要设置read_only=1,否则会导致旧主也被proxysql认为主,加入写组中。
   2 当MHA切换后,最好还是调整下权重比例,不会动态进行维护
七 补充
  1 cetus和proxysql对比,cetus对于MHA的利用更有优势

以上是关于proxysql 系列 ~ 高可用架构的主要内容,如果未能解决你的问题,请参考以下文章

MHA+ProxySQL,mysql的高可用集群+读写分离MHA搭建与VIP策略

MHA+ProxySQL实现读写分离高可用

MySQL-高可用架构MHA

MySQL-高可用架构MHA

ProxySQL Cluster 配置详解 以及 高可用集群方案部署记录(完结篇)

MHA+ProxySQL 读写分离高可用