一 前言:
mysql读写分离算是很早就提出的一个提高数据库性能的方案,最少有10多年之久了吧,但是实际应用中非常多的企业系统中还是在使用MySQL主从,甚至就是一个mysql。甚至很多资深的开发人员知道读写分离,什么mycat 等等,但是真正用于生产的还是不多。今天我们就给大家推荐一款轻量级,配置简单搭建方便的读写分离中间件。经过多款读写分离中间件比对后最为实用,非常适合中小型系统的读写分离中间件 maxscale
二 Maxscale 简介
MaxScale是MariaDB开发的一个数据库智能代理服务,允许根据数据库SQL语句将请求转向目标一个到多个服务器,可设定各种复杂程度的转向规则。MaxScale设计用于透明的提供数据库的负载均衡和高可用性,同时提供高度可伸缩和灵活的架构,支持不同的协议和路由决策。
MaxScale使用C语言开发,利用Linux下的异步I/O功能。使用epoll作为事件驱动框架。它由事件处理核心和各种支持功能以及可定制程序行为的插件模块组成。MariaDB MaxScale是一种数据库代理,可扩展MariaDB Server的高可用性、可伸缩性和安全性,同时通过将其与基础数据库基础架构分离来简化应用程序开发。
MaxScale提供了许多服务,如路由、查询缓存、连接池、SQL过滤器等,并且这些服务都可以在运行时进行动态加载和卸载。MaxScale还支持多种协议,如MySQL、MariaDB、PostgreSQL等,可以作为各种数据库服务的代理。
在架构上,MaxScale可以部署为一个独立的节点,接收客户端的请求,并根据配置的规则将请求转发给后端的数据库服务器。这种架构可以有效地实现数据库的读写分离、负载均衡和容错等功能。
MaxScale是一个功能强大、易于配置和使用的数据库代理服务,可以帮助开发者和运维人员提高数据库服务的可用性、性能和可扩展性。
MariaDB MaxScale 2.2版本在支持原有读写分离的基础上,又添加了主从复制集群管理功能。MariaDB MaxScale 2.5版本实现了GUI图形化、可视化监控管理web页面。
三 部署MySQL主从
我们以mysql8.0.27 为例进行MySQL主从部署,本次部署为一主两从,采用半同步。
MySQL8.0.27 安装:
下载地址: