我正在寻找一种方法来拥有多个物理前端服务器酸数据访问。
在多台服务器使用 DNS 轮询实现负载平衡的设置中,问题在于无论你将数据放在哪台服务器上,都必须是 ACID。例如,在对数据进行分片时,你需要在服务器之间实现分片映射 ACID,对吗?
我如何使用开源软件实现这一点?
一种解决方案是 MySQL Cluster,但 Google 或 Facebook 不使用此解决方案(?)。还有其他选择吗?
答案1
Google 和 Facebook 几乎从来不需要 ACID 数据。如果您的 Facebook 新闻提要已过时几秒钟(或几分钟,甚至更久),或者您看到的是昨天的 Google 搜索索引,那也不算世界末日。
对于任何绝对需要 ACID 的东西,您可能需要研究分片,其中特定服务器是数据库特定子集的主服务器。
答案2
我不确定Percona 的 XtraDB 集群满足 ACID 合规性的严格定义(XtraDB 引擎满足),但它是一种同步解决方案,如 MySQL Cluster,适用于 Web 应用程序。请注意,它尚未准备好投入生产,但开发/进展很快,所以如果我是你,我会检查一下。你可能希望与 Percona 人员联系,了解你的业务需求。
希望这可以帮助。