加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 服务器 > 安全 > 正文

MaxScale:实现MySQL读写分离与负载均衡的中间件利器

发布时间:2021-01-09 07:31:40 所属栏目:安全 来源:网络整理
导读:《MaxScale:实现MySQL读写分离与负载均衡的中间件利器》要点: 本文介绍了MaxScale:实现MySQL读写分离与负载均衡的中间件利器,希望对您有用。如果有疑问,可以联系我们。 1、 MaxScale 是干什么的? 配置好了 MySQL 的主从复制结构后,我们希望实现读写分离
副标题[/!--empirenews.page--]

《MaxScale:实现MySQL读写分离与负载均衡的中间件利器》要点:
本文介绍了MaxScale:实现MySQL读写分离与负载均衡的中间件利器,希望对您有用。如果有疑问,可以联系我们。

1、MaxScale 是干什么的?

配置好了MySQL的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.

读写分离和负载均衡是MySQL集群的基础需求,MaxScale 就可以帮着我们方便的实现这些功能.

2、MaxScale 的基础构成

MaxScale 是MySQL的兄弟公司 MariaDB 开发的,现在已经发展得非常成熟.MaxScale 是插件式结构,允许用户开发适合自己的插件.

MaxScale 目前提供的插件功能分为5类:

  • 认证插件

    提供了登录认证功能,MaxScale 会读取并缓存数据库中 user 表中的信息,当有连接进来时,先从缓存信息中进行验证,如果没有此用户,会从后端数据库中更新信息,再次进行验证

  • 协议插件

    包括客户端连接协议,和连接数据库的协议

  • 路由插件?

    决定如何把客户端的请求转发给后端数据库服务器,读写分离和负载均衡的功能就是由这个模块实现的

  • 监控插件

    对各个数据库服务器进行监控,例如发现某个数据库服务器响应很慢,那么就不向其转发请求了

  • 日志和过滤插件

    提供简单的数据库防火墙功能,可以对SQL进行过滤和容错

3、MaxScale 的安装使用

例如有 3 台数据库服务器,是一主二从的结构.

过程概述

(1)配置好集群环境

(2)下载安装 MaxScale

(3)配置 MaxScale,添加各数据库信息

(4)启动 MaxScale,查看是否正确连接数据库

(5)客户端连接 MaxScale,进行测试

详细过程

(1)配置一主二从的集群环境

准备3台服务器,安装MySQL,配置一主二从的复制结构.

(2)安装 MaxScale

最好在另一台服务器上安装,如果资源不足,可以和某个MySQL放在一起.

MaxScale?的下载地址:https://downloads.mariadb.com/files/MaxScale

根据自己的服务器选择合适的安装包.

以 centos 7 为例 安装步骤如下:

yum install libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit -yrpm -ivh maxscale-1.4.3-1.centos.7.x86_64.rpm

(3)配置 MaxScale

在开始配置之前,需要在 master 中为 MaxScale 创建两个用户,用于监控模块和路由模块.

创建监控用户

mysql> create user scalemon@’%’ identified by “222221”;mysql> grant replication slave,replication client on *.* to scalemon@’%’;

创建路由用户

mysql> create user maxscale@’%’ identified by “222221”;mysql> grant select on mysql.* to maxscale@’%’;

用户创建完成后,开始配置

vi /etc/maxscale.cnf

找到 [server1] 部分,修改其中的 address 和 port,指向 master 的 IP 和端口.

复制2次 [server1] 的整块儿内容,改为 [server2] 与 [server3],同样修改其中的 address 和 port,分别指向 slave1 和 slave2:

找到 [MySQL Monitor] 部分,修改 servers 为 server1,server2,server3,修改 user 和 passwd 为之前创建的监控用户的信息(scalemon,222221).

找到 [Read-Write Service] 部分,修改 user 和 passwd 为之前创建的路由用户的信息(maxscale,222221).

由于我们使用了 [Read-Write Service],需要删除另一个服务 [Read-Only Service],删除其整块儿内容即可.

配置完成,保存并退出编辑器.

(4)启动 MaxScale

执行启动命令

maxscale –config=/etc/maxscale.cnf

查看 MaxScale 的响应端口是否已经就绪

netstat -ntelp

  • 4006 是连接 MaxScale 时使用的端口
  • 6603 是 MaxScale 管理器的端口

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读