我想多家,一个专有的基于网络的应用程序,相对较小的用户基础,与适度的数据集大小。可伸缩性不像极高的可用性那样令人关注。该系统具有极其基本的体系结构:在单个Linux上运行PHP,并使用标准的MySQL服务器。
我正在考虑在地理上不同的数据中心中使用多个VPS,以便如果用户在连接到一个服务器位置时遇到问题,他们可以尝试另一个服务器位置(关于如何半自动地实现故障转移,以及可能的georoute,这是另一个问题)。PHP应用程序代码和其他文件将被重新同步;但是,我尚未解决如何同步数据库.对此使用MySQL集群是否合理?
如果一个节点发生故障,则其他节点必须继续工作。当节点重新出现时,它应该会自动恢复同步。考虑到数据中心之间存在广域网类型的延迟,写入速度不能依赖于集群内部的连接.数据一致性是可取的,但不是压倒一切的优先事项。系统的简单性是很重要的--下个月我无法理解数据库的细微之处。
如果MySQL集群不适合这样做,那么还需要考虑哪些其他选择?
发布于 2011-06-08 22:09:14
在我看来,一个更简单的解决方案是MySQL主主复制配置,其中两个站点将查询推送到另一个站点并执行它们。在这里,我们可以找到一个非常关键的方法:
http://www.howtoforge.com/mysql_主控_主控_复制
如果您有现有的数据集,则可以在执行这些步骤之前使用mysqldump
导出数据库,以便在完成配置之前将其插入到从服务器上。只需确保在进行导出时获得master_log_position,以便知道从哪里赶上。我强烈建议构建一个可以工作的dev环境,这样您就可以了解它是如何工作的。
发布于 2011-06-08 22:42:58
MySQL集群一般不适用于web应用程序。
这是一种异国情调的解决方案,但请查看加雷拉
我记得在某个地方看到他们说广域网复制是可能的。
还有钨企业。
Galera是同步复制,而Tungsten是异步复制。
干杯
https://serverfault.com/questions/278497
复制相似问题