我们一直在为我们的电子商务网站使用 Percona Mysql 主从配置,即单主和 2 个只读从属,以及一个额外的从属来执行备份和报告。
我们观察到负载没有分布,因为我们的主服务器加载了所有写入操作,而从服务器仅用于读取操作。
考虑到这一限制,我们计划对我们的数据库基础设施进行增强。
我们的一种选择是转向 Percona XtraDB 集群(master-master)。
请建议任何其他对电子商务网站有用的首选方法。
问候
查尔斯
我们一直在为我们的电子商务网站使用 Percona Mysql 主从配置,即单主和 2 个只读从属,以及一个额外的从属来执行备份和报告。
我们观察到负载没有分布,因为我们的主服务器加载了所有写入操作,而从服务器仅用于读取操作。
考虑到这一限制,我们计划对我们的数据库基础设施进行增强。
我们的一种选择是转向 Percona XtraDB 集群(master-master)。
请建议任何其他对电子商务网站有用的首选方法。
问候
查尔斯
我们观察到负载没有分布
这是 100% 正确的。异步主从不是自动分布式设置。您必须 A) 编写应用程序以使用所有服务器或 B) 使用中间件来分发连接(即:ProxySQL)。
考虑到这个限制...
这不是限制;自从复制首次添加到 MySQL 以来,它就是标准行为。
我们的一种选择是转向 Percona XtraDB 集群(master-master)。
Percona XtraDB 集群不是“master-master”。“master-master”是一个异步复制术语,仅限于 2 个 MySQL 服务器。PXC 是一个集群并使用同步复制,这意味着所有节点作为一个单元参与。
主/从-从设置(如您的)应该每秒轻松处理数千个连接/事务。如果您当前的设置无法处理该问题,那么您要么 A) MySQL 配置严重错误和/或 B) 硬件极低。
请理解,切换到 PXC/Galera 也不会自动平衡连接/查询。在这种情况下,您也需要中间件。即使在 PXC 中,所有写入仍将转到 1 个节点。
您可以使用 Galera Cluster 解决方案。我们将它与 MariaDB 一起用于具有数百个请求的大型 API。
如果您想了解更多详细信息,请写信给我。试试看 ;)