一 整体架构
二 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. 对manacher的一点感性理解

    因为总是忘掉板子所以这里贴一下我个人对\(manacher\)的感性理解. 可能不够严谨求轻喷\(QwQ\) char ch = getchar (); s[0] = s[1] = '#'; whil ...

  2. (贪心和优先队列) POJ1862 Stripies

    Stripies Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21506   Accepted: 9478 Descrip ...

  3. (线性dp,LCS) POJ 1458 Common Subsequence

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 65333   Accepted: 27 ...

  4. Vue(基础六)_vue-router

    一.前言 本文主要涉及: 1.传统方式路由的实现                                     2.使用vue-router                         ...

  5. 2017-12-18python全栈9期第三天第一节之昨天内容回顾与作业讲解用户三次机会再试试

    #!/user/bin/python# -*- coding:utf-8 -*-username = "zd"password = "123"i = 3whil ...

  6. Linux下weblogic10.3.6(jar)版本安装详解

    一.安装前的准备 安装weblogic是需要JDK环境的,虽然weblogic有自带的JDK,但是我一般是自己选择JDK进行安装,如果你要自行安装,可以参考我的另一篇博客 https://www.cn ...

  7. plus初始化原理及plus is not defined,mui is not defined 错误汇总

    原文 关于plus是哪里来的问题 plus是5+Runtime的内部对象.就像chrome浏览器里有chrome.开头的一些对象方法,5+runtime内部内置了plus对象.因为plus和mui不一 ...

  8. Git(介绍和安装)

    Git 是什么 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制系统. 与常用的版本控制工具 CVS, Subversion 等不同,它 ...

  9. React 记录(2)

    入门教程:https://www.reactjscn.com/tutorial/tutorial.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https://reactjs.or ...

  10. python 调用 java代码

    一.JPype简述 1.JPype是什么? JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足. 2.JPype ...