2

我们有 6 台服务器(4 台应用服务器和 2 台数据库服务器)

我们正在使用 HAProxy 在应用程序和 API 服务器之间进行负载平衡 (2/2)

现在我遇到的问题是系统管理员在 MySQL 上设置了主/从,但它总是失败,直到现在我们无法使用从属,因为大多数数据总是被损坏,我们总是需要修复它,每次我们都是得到不同的错误。

我们尝试对读/写进行某种负载平衡(在主设备上写入,在从设备上读取),但我们无法使用它,因为从设备数据并不总是正确的。

我想知道的是,在处理高负载服务器时,你总是需要数据准确并且不能冒任何风险,大佬们是如何进行的?

谁能告诉我他自己的经历和他用的什么?

我发现了什么:Percona XtraDB Cluster,但在进入这个方向之前需要输入......

谢谢 !!

4

3 回答 3

3

你可以选择 MySQL/MariaDB+ Percona + HAproxy。这种组合支持 Master-Master 同步和数据同步工作得非常好。大多数实时数据同步都存在主键和外键问题。您也可以使用 Percona 避免这些问题。去吧,祝你好运

于 2016-07-31T00:59:31.760 回答
2

“表已满”错误意味着您的从站没有足够的空间来执行 ALTER TABLE。您需要获得更大的磁盘来解决该错误。

但潜台词是没有人在监视您的数据库服务器,这是一个更大的问题。你需要找一个数据库管理员,或者找一个专业的服务来做。

我想知道的是,在处理高负载服务器时,你总是需要数据准确并且不能冒任何风险,大佬们是如何进行的?

首先,不要以为任何系统都没有风险。如果您打算使用该系统,那是不可能的。您无法消除错误的可能性,但您可以准备好从错误中无缝恢复。

大佬们是这样操作的:

  1. 聘请包括系统管理员、网络管理员、数据库管理员在内的运营人员来管理服务器。

  2. 监控一切。使用软件连续跟踪系统负载、磁盘空间、错误和许多其他事情。最好的选择是New Relic。对于 MySQL 从属完整性,请使用 pt-table-checksum 之类的工具。

  3. 冗余。创建备用系统和数据以在(而不是如果)主系统发生故障时接管。

您可能想了解高可用性架构领域。看看这个演讲:可扩展的互联网架构

于 2016-07-31T16:36:04.763 回答
1

上亚马逊 ec2。您可以即时启动 4 个应用服务器和 2 个数据库服务器,并使用 aws 工程功能设置负载平衡。

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-getting-started.html#define-load-balancer

https://aws.amazon.com/articles/1639

于 2016-07-31T04:03:23.577 回答