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 系列 ~ 高可用架构的更多相关文章
- (5.1)mysql高可用系列——高可用架构方案概述
关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...
- MySQL系列:高可用架构之MHA
前言 从11年毕业到现在,工作也好些年头,入坑mysql也有近四年的时间,也捣鼓过像mongodb.redis.cassandra.neo4j等Nosql数据库.其实一直想写博客分享下工作上的零零碎碎 ...
- 【亲述】Uber容错设计与多机房容灾方案 - 高可用架构系列
此文是根据赵磊在[QCON高可用架构群]中的分享内容整理而成.转载请事先联系赵磊及相关编辑. 赵磊,Uber高级工程师,08年上海交通大学毕业,曾就职于微软,后加入Facebook主要负责Messen ...
- 032:基于Consul和MGR的MySQL高可用架构
目录 一.Consul 1.Consul简介 2.准备环境 3.Consul 安装 4.Consul配置文件 5.Consul 服务检查脚本 6.Consul启动 二.MGR搭建 1.MGR配置 2. ...
- 【高可用架构】借助Envoy工具发布项目到多台服务器
前言 在上一篇,我们已经成功在开发机上部署了Deploy项目,下面我们继续在开发机上安装Envoy 两台应用服务器的IP 192.168.10.12 192.168.10.18 [高可用架构]系列链接 ...
- 【高可用架构】用Nginx实现负载均衡(三)
前言 在上一篇,已经用Envoy工具统一发布了Deploy项目代码.本篇我们来看看如何用nginx实现负载均衡 负载均衡器IP 192.168.10.11 [高可用架构]系列链接:待部署的架构介绍 演 ...
- 【高可用架构】开发机上部署Deploy项目(一)
准备 部署项目的细节可以看这个,传送门Centos 7部署Laravel项目 主机IP:192.168.10.17 [高可用架构]系列链接:待部署的架构介绍 演示 部署Deploy composer ...
- MySQL 高可用架构之MMM
简介 MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理My ...
- 【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构
此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...
随机推荐
- ICPC模板编写 latex
推荐模板 https://www.jianshu.com/p/28552706e811 另外导入C文件: \lstinputlisting[language=C]{xxx.c} .c文件编码方式为UT ...
- mybatis 插入一条记录 参数为map的写法
xml: <insert id="insertUser" parameterType="java.util.Map"> insert into us ...
- hdu 4333"Revolving Digits"(KMP求字符串最小循环节+拓展KMP)
传送门 题意: 此题意很好理解,便不在此赘述: 题解: 解题思路:KMP求字符串最小循环节+拓展KMP ①首先,根据KMP求字符串最小循环节的算法求出字符串s的最小循环节的长度,记为 k: ②根据拓展 ...
- poj 2566"Bound Found"(尺取法)
传送门 参考资料: [1]:http://www.voidcn.com/article/p-huucvank-dv.html 题意: 题意就是找一个连续的子区间,使它的和的绝对值最接近target. ...
- UI动画的一些制作过程
选中将要制作的3D物体,window----Animation----录制,选中的AddKey在之间的节点前点左键.
- LoRa网关/RAK831
Semtech SX1301 同时在不同的信道上接收数据 RAK831 能够在不同信道上同时接收多达 8 个同时发送不同扩频因子的 LoRa 数据 包
- thinkphp中用ajax对数据库进行操作
删除和查看详情操作的共同语句:就是怎么显示表? 1.在主体中写表的开头行,想要显示的内容,并且加载数据也要显示的地方也建张表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 & ...
- opencv: 轮廓提取;
一般轮廓提取是通过对图像的梯度进行卷积计算,得到图像边缘(滤波),常用的边缘检测方法有candy.sobel. Laplacian等,再对二值化后的边缘图像进行轮廓计算: 1.Candy算子: cv: ...
- 关于python的315道题
python基础篇 为什么学习Python? 通过什么途径学习的Python? Python和Java.PHP.C.C#.C++等其他语言的对比? 简述解释型和编译型编程语言? Python解释器种类 ...
- img标签的onerror事件
#情景分析: 有时,img标签中的src图片加载失败,原来的图片位置会出现一个碎片图标,这样让人很不爽,如何变得美观些呢? #解决方案: 可以借用img标签的onerror事件,img标签支持oner ...