集群方案
数据库复制:集群至少要支持故障转移,而数据库复制并不具备该特性。因此我们说数据库复制并不是高可用方案,而属于负载均衡方案。鉴于此,本部分不讨论与数据库复制相关的内容。
MySQL Group Replication
MySQL MGR 集群搭建(单主模式&多主模式)
MySQL 5.7 Reference Manual/Group Replication
MariaDB Galera Cluster
MariaDB MaxScale + Replication Manager
GitHub/mariadb-corporation/MaxScale
# 03/24/2020 / Star 985 / Latest commit 80a8fd5 5 days ago
GitHub/signal18/replication-manager
# 03/24/2020 / Star 368 / Latest commit f813465 15 days ago
MaxScale + MRM – MySQL Replication Failover – Maxscale vs MHA: Part Two
MySQL Master HA (aka MHA)
GitHub/yoshinorim/mha4mysql-manager
# 03/24/2020 / Star 966 / Latest commit abe11f9 on Mar 23, 2018
MHA – MySQL Replication Failover – Maxscale vs MHA: Part One
Orchestrator
GitHub/outbrain/orchestrator
# 03/24/2020 / Star 786 / Latest commit 2a6e4b7 on Dec 9, 2016
ClusterControl
Wikipedia/MySQL/User interfaces/ClusterControl
是由 Somenines 开发,端到端的 MySQL 管理系统,具有图形化界面,它具有部署、监控、管理、扩展 MySQL 实例的能力。
社区版本可免费使用,并允许用户部署、监视 MySQL 实例。诸如负载平衡、备份和还原、故障转移(1.4+)等高级功能是付费产品的一部分。
中间件 | Middleware
ProxySQL
https://proxysql.com
https://github.com/sysown/proxysql
ProxySQL is a high performance, high availability, protocol aware proxy for MySQL and forks (like Percona Server and MariaDB). All the while getting the unlimited freedom that comes with a GPL license.
Its development is driven by the lack of open source proxies that provide high performance.
MySQL Router
https://www.mysql.com/products/enterprise/router.html
MySQL Router is lightweight middleware that provides transparent routing between your application and any backend MySQL Servers. It can be used for a wide variety of use cases, such as providing high availability and scalability by effectively routing database traffic to appropriate backend MySQL Servers. The pluggable architecture also enables developers to extend MySQL Router for custom use cases.
MySQL Proxy(not recommended)
https://downloads.mysql.com/archives/proxy
MySQL Proxy is not GA, and is not recommended for Production use.
We recommend MySQL Router for production use. Download MySQL Router »
Amoeba
https://sourceforge.net/projects/amoeba
Amoeba is a proxy that sits between your client and DB server(s) that can monitor, analyze or transform their communication. written in java. 1.load balancing 2、failover; 3、queries Route.projects:amoeba for mysql ,for mongodb,for aladdin
OneProxy