Mysql 多位置rails应用程序使用单个DB

Mysql 多位置rails应用程序使用单个DB,mysql,ruby-on-rails,Mysql,Ruby On Rails,我计划向亚洲和美国客户提供基于web REST的服务(所有动态内容,无静态内容),对于连接到美国服务器的亚洲客户来说,网络延迟似乎非常糟糕,我当前的服务器托管在RackSpace cloud上,它同时运行app server和MySQL DB-因此我计划在亚洲建立另一台Rails服务器,但是现在RDB的最佳实践是什么 选项1是两个Rails服务器连接到自己的本地数据库,但我有两个单独的数据库集(包括用户注册数据库),在美国注册的用户不会看到在亚洲注册的用户 选项2是两个Rails服务器连接到同一

我计划向亚洲和美国客户提供基于web REST的服务(所有动态内容,无静态内容),对于连接到美国服务器的亚洲客户来说,网络延迟似乎非常糟糕,我当前的服务器托管在RackSpace cloud上,它同时运行app server和MySQL DB-因此我计划在亚洲建立另一台Rails服务器,但是现在RDB的最佳实践是什么

选项1是两个Rails服务器连接到自己的本地数据库,但我有两个单独的数据库集(包括用户注册数据库),在美国注册的用户不会看到在亚洲注册的用户

选项2是两个Rails服务器连接到同一个MySQL DB,希望在Rails和DB中间添加一些SQL缓存(MeMax),但是我不确定这个设置的性能< /P> 有人能建议采取哪种方案吗?采用方案2有什么最佳做法吗


谢谢

您可以使用选项1,设置一个主从设置()。因此,每台服务器都连接到一个本地数据库,但亚洲的服务器将是与美国的主数据库同步的从服务器。延迟仍然是一个问题。您可能需要在测试环境中尝试这两种选项,看看什么最适合您,什么最易于维护。

谢谢。在这种主从模式下,我似乎只能获得单向同步,所以如果我将US DB设置为master,那么我就无法将新数据保存到亚洲DB服务器,对吗?