【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡

0    3456    6

👉 本文共约2497个字,系统预计阅读时间或需10分钟。

【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡

一、MHA+ProxySQL架构

之前发过一篇MHA的文章,介绍了MHA相关的知识和功能测试,连接为:【DB宝19】在Docker中使用MySQL高可用之MHA 。今天这一篇给大家分享一下“MHA+中间件ProxySQL”来实现读写分离+负载均衡的相关知识。

我们都知道,MHA(Master High Availability Manager and tools for MySQL)目前在MySQL高可用方面是一个相对成熟的解决方案,是一套作为MySQL高可用性环境下故障切换主从提升的高可用软件。它的架构是要求一个MySQL复制集群必须最少有3台数据库服务器,一主二从,即一台充当Master,一台充当备用Master,另一台充当从库。但是,如果不连接任何外部的数据库中间件,那么就会导致所有的业务压力流向主库,从而造成主库压力过大,而2个从库除了本身的IO和SQL线程外,无任何业务压力,会严重造成资源的浪费。因此,我们可以把MHA和ProxySQL结合使用来实现读写分离和负载均衡。所有的业务通过中间件ProxySQL后,会被分配到不同的MySQL机器上。从而,前端的写操作会流向主库,而读操作会被负载均衡的转发到2个从库上。

MHA+ProxySQL架构如下图所示:

【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡

二、快速搭建MHA环境

2.1 下载MHA镜像

一共4个镜像,3个MHA Node,一个MHA Manager,压缩包大概3G,下载完成后:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

2.2 编辑yml文件,创建MHA相关容器

编辑yml文件,使用docker-compose来创建MHA相关容器,注意docker-compose.yml文件的格式,对空格、缩进、对齐都有严格要求:

2.3 安装docker-compose软件(若已安装,可忽略)

2.4 创建MHA容器

2.5 主库131添加VIP

添加完成后:

到这一步就可以验证主从复制是否正确,若正确,则可以直接测试MHA了。

【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

5 × 2 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部