在我们了解了MySQL的主从复制的性能优化之后,紧接着《【MySQL专题】02、性能优化之主从复制》中,我们提及的读写分离,来进行读操作和写操作分散到不同的服务器结构中,同时希望对多个从服务器能提供负载均衡,读写分离和负载均衡是MySQL集群的常规需求,然后MySQL的兄弟公司MariaDB 公司就开发了一种插件式结构,允许用户开发适合自己的插件,这个中间件叫:MaxScale。下面我们就来开始了解MaxScale。
1、MaxScale 概述
MariaDB MaxScale是一种数据库代理,可扩展MariaDB Server的高可用性,可伸缩性和安全性,同时通过将其与基础数据库基础架构分离来简化应用程序开发。
MariaDB MaxScale采用可扩展的体系结构进行工程设计,以支持插件,从而将其功能扩展到透明负载平衡之外,从而成为例如数据库防火墙。借助用于多个路由器,过滤器和协议的内置插件,可以将MariaDB MaxScale配置为转发数据库请求并根据业务和技术要求修改数据库响应,例如,以屏蔽敏感数据或扩展读取。MaxScale 提供了5类的插件功能,分别如下:
- 认证
提供登陆认证功能,MaxScale通过读取并缓存数据库中的user表中的信息,当又连接进来是,先出缓存获取验证,如果没有此用户,会从后端获取更新信息,再次进行验证。 - 协议
客户端连接协议和连接数据库协议 - 路由
决定如何把客户端的请求转发给后端数据库服务器?读写分离和负载均衡的功能实现