2

我遇到了一个不常见的问题,我的客户有 3 家商店,并且想要一个 Web 应用程序来分别管理每个商店。这将是一种常见的多租户方法,但还有一个额外的要求:客户端不想依赖互联网连接。因此我可以想到2个解决方案,每个商店都必须有一个服务器,1个数据库实例和1个应用程序实例运行,如果互联网连接失败,客户端可以使用应用程序本地实例。

  • 异步数据库复制——每个存储本地数据库都是在线服务器数据库的副本。

  • 根据所选存储,使 rails 连接到不同的数据库。在这种情况下,应用程序在线实例将仅连接到 3 个本地数据库(每个数据库位于一个商店)。我看到了Guy 的演讲,并阅读了有关 magic_multi_connections (magicmodels.rubyforge.org/magic_multi_connections) 的内容,但它似乎已经过时了。DbCharmer似乎是一个可能的解决方案,但我不确定它是否会这样做。

    其他相关帖子:

    • railsforum.com/viewtopic.php?id=48435
    • stackoverflow.com/questions/1825844/multiple-databases-in-rails

我想知道这种情况下最好的架构。你会怎么做 ?

4

1 回答 1

1

DbCharmer 开发人员 Oleksiy Kovyrin 的回答是:

..如果您在多进程(单线程)环境中使用 AR,那么每个客户端都有单独连接的情况绝对是可能的..”

于 2012-08-09T11:38:26.113 回答