将单个数据库用于多位置rails应用程序

时间:2013-07-28 04:37:28

标签: mysql ruby-on-rails

我计划向亚洲和美国客户提供基于Web REST的服务(所有动态内容,没有静态内容),对于连接到美国服务器的亚洲客户来说,网络延迟似乎非常糟糕,我当前的服务器是托管在RackSpace云上,它运行应用服务器和MySQL数据库 - 所以我计划在亚洲设置另一个Rails服务器,但现在RDB的最佳做法是什么?

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

选项2是两个Rails服务器连接到同一个MySQL DB,希望在Rails和DB之间添加一些SQL缓存(Memcache),但我不确定这个设置的性能

任何人都可以建议采取哪种方式,采用选项2是否有最佳做法?

感谢

1 个答案:

答案 0 :(得分:0)

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