如何同步负载平衡的Drupal站点的数据库

我有一个生产环境设置,我的drupal站点托pipe在两台服务器上,映射到同一个域,每个都有一个代码和数据库副本,在XAMPP上运行。 所以基本上,他们是两个独立的实体。

现在,我有用户通过域访问站点,进行更新,然后转到任一服务器,我发现保持数据库同步是一个真正的问题。

我有什么select? 有没有办法“合并”数据库并保留所有数据?

你可以通过几种方式解决这个问题:

  1. 只使用一个数据库服务器。 禁用一台mysql服务器,并将两台服务器上的drupal连接到一台mysql服务器上。 如果您的数据库已经被加载,这不是一个好的解决scheme。

  2. U可以设置master来掌握mysql的复制。 在这种情况下,你将能够使用两个MySQL服务器,所有更新将被复制到两个MySQL服务器。 这将很好地平衡负载到MySQL数据库,而不需要对drupal代码做任何改变。

  3. 你可以使用mysql复制主从。 在这里,您必须修改drupal代码,数据库的所有更新将在主服务器上完成,并复制到从服务器上。 如果你的数据库有less量更新,这是一个很好的解决scheme,因为这个解决scheme不能在两个mysql上平衡数据库的input和更新。 但是主从复制configuration和维护要简单得多。

  4. U可以设置仅用于MySQL数据库的第三台服务器,并将两个站点连接到同一台MySQL服务器。 您可以将webseversconfiguration为仅用于备份目的的master数据库的从属服务器

我想你需要看看master-master / multi-master复制。 这是两台服务器都有主数据库的地方,每次更新都会提交到数据库,然后复制到另一个数据库,使您的数据库保持同步。

http://en.wikipedia.org/wiki/Multi-master_replication
http://xeround.com/blog/2011/10/master-master-database-replication