一 整体架构
二 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 系列 ~ 高可用架构的更多相关文章

  1. (5.1)mysql高可用系列——高可用架构方案概述

    关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...

  2. MySQL系列:高可用架构之MHA

    前言 从11年毕业到现在,工作也好些年头,入坑mysql也有近四年的时间,也捣鼓过像mongodb.redis.cassandra.neo4j等Nosql数据库.其实一直想写博客分享下工作上的零零碎碎 ...

  3. 【亲述】Uber容错设计与多机房容灾方案 - 高可用架构系列

    此文是根据赵磊在[QCON高可用架构群]中的分享内容整理而成.转载请事先联系赵磊及相关编辑. 赵磊,Uber高级工程师,08年上海交通大学毕业,曾就职于微软,后加入Facebook主要负责Messen ...

  4. 032:基于Consul和MGR的MySQL高可用架构

    目录 一.Consul 1.Consul简介 2.准备环境 3.Consul 安装 4.Consul配置文件 5.Consul 服务检查脚本 6.Consul启动 二.MGR搭建 1.MGR配置 2. ...

  5. 【高可用架构】借助Envoy工具发布项目到多台服务器

    前言 在上一篇,我们已经成功在开发机上部署了Deploy项目,下面我们继续在开发机上安装Envoy 两台应用服务器的IP 192.168.10.12 192.168.10.18 [高可用架构]系列链接 ...

  6. 【高可用架构】用Nginx实现负载均衡(三)

    前言 在上一篇,已经用Envoy工具统一发布了Deploy项目代码.本篇我们来看看如何用nginx实现负载均衡 负载均衡器IP 192.168.10.11 [高可用架构]系列链接:待部署的架构介绍 演 ...

  7. 【高可用架构】开发机上部署Deploy项目(一)

    准备 部署项目的细节可以看这个,传送门Centos 7部署Laravel项目 主机IP:192.168.10.17 [高可用架构]系列链接:待部署的架构介绍 演示 部署Deploy composer ...

  8. MySQL 高可用架构之MMM

    简介 MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理My ...

  9. 【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

随机推荐

  1. qml: 自定义输入框

    import QtQuick 2.7 Rectangle { width:; height:; border.width:; border.color: "#E7E7E7" rad ...

  2. 【Mac进销存管理软件】Daily Sales Pro Mac

        [简介] Daily Sales Mac版是Mac平台上的一款进销存软件,库存管理系统.Daily Sales Mac版是一款易于使用的进出库存管理软件,让您及时了解库存状况.销售收入.采购成 ...

  3. SVN简单的使用

    一.什么是SVN有什么用? SVN是Subversion的简称,是一个开放源代码的版本控制系统.主要是用于团队开发中的资源共享和团队协作. 二.SVN服务器的安装 1.下载安装文件 在下面地址下载Vi ...

  4. vue-获取dom节点

    获取dom节点可以用ref属性,这个属性就是来获取dom对象的.看代码  这个属性就相当于给这个标签起了一个id样的东西 <input type="text" ref=&qu ...

  5. SonarQube(代码质量管理)配置与使用

    继 Sonarqube(代码质量管理)环境搭建,交大家如何配置与使用Sonarqube 1: 汉化Sonarqube: 找到 Setting --> Update Center --> A ...

  6. MySQL数据类型2

    一.MySQL的数据类型 主要包括以下五大类: 整数类型:BIT.BOOL.TINY INT.SMALL INT.MEDIUM INT. INT. BIG INT 浮点数类型:FLOAT.DOUBLE ...

  7. com.netflix.client.ClientException: Load balancer does not have available server for client xxxx

    版本 spring boot: 2.0.1.RELEASE spring cloud: Finchley.M9 错误 通过zuul调用eureka注册的服务,错误内容如下 Caused by: com ...

  8. 【2】【leetcode-105,106】 从前序与中序遍历序列构造二叉树,从中序与后序遍历序列构造二叉树

    105. 从前序与中序遍历序列构造二叉树 (没思路,典型记住思路好做) 根据一棵树的前序遍历与中序遍历构造二叉树. 注意:你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [ ...

  9. Oracle的 listagg() WITHIN GROUP ()函数使用

    1.使用条件查询  查询部门为20的员工列表 -- 查询部门为20的员工列表    SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = ...

  10. jquery 禁止滚动条滚动,并且滚动条不消失,页面大小不闪动

    一,禁止滚动,滚动条不消失,页面大小不闪动 //禁止滚动条滚动 function unScroll() { var top = $(document).scrollTop(); $(document) ...