GreatSQL MGR + ProxySQL集群搭建方案

前言

ProxySQL

ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。

GreatSQL MGR

GreatSQL
是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

GreatSQL
在高可靠方面的主要提升是针对MGR做了大量的改进和提升工作,进一步提升MGR的高可靠等级。包括但不限于以下提升:

  1. 地理标签
    ,提升多机房架构数据可靠性。
  2. 读写节点动态VIP
    ,高可用切换更便捷。
  3. 仲裁节点
    ,用更低的服务器成本实现更高可用。
  4. 快速单主模式
    ,在单主模式下更快,性能更高。
  5. 智能选主
    ,高可用切换选主机制更合理。
  6. 全新流控算法
    ,使得事务更平稳,避免剧烈抖动。
  7. 优化了节点加入、退出时可能导致性能剧烈抖动的问题。
  8. 解决磁盘空间爆满时导致MGR集群阻塞的问题。
  9. 解决了长事务造成无法选主的问题。
  10. 优化事务认证队列清理算法,规避每60s抖动问题。
  11. 修复了recover过程中长时间等待的问题。

了解更多详细信息可以前往➥https://gitee.com/GreatSQL/GreatSQL-Manual/blob/master/5-enhance/5-2-ha.md

部署环境介绍

部署架构图

GreatSQL MGR集群实现数据库复制功能及高可用。 Proxysql对应用程序提供访问,对MGR集群进行读写分离,集群状态检测,实现故障切换。

部署环境配置

部署软件详情

软件名 版本号
GreatSQL 8.0.32-24
ProxySQL 2.5.4-58

部署环境准备

本次采用的是单机多实例的部署方式,如何部署单机多实例可以前往➥https://gitee.com/GreatSQL/GreatSQL-Manual/blob/master/6-oper-guide/6-6-multi-instances.md

IP 端口 角色
172.17.139.77 3306 MGR01
172.17.139.77 3307 MGR02
172.17.139.77 6032、6033 ProxySQL

$ cat /etc/system-release<br>Red Hat Enterprise Linux Server release 7.9 (Maipo)<br>$ uname -a<br>Linux gip 3.10.0-1160.el7.x86_64 #1 SMP Tue Aug 18 14:50:17 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux<br>