2013-12-21 70 views
0

我正在构建一个将部署在多个服务器上的Rails应用程序,每个服务器都使用它自己的数据库。这些应用程序中的大多数数据都是独一无二的。在私有应用程序之间共享一些数据

我希望能够在每个这些应用程序中共享所有的Posts与一个“爸爸应用程序”,同时保持其余的数据私人。这个“爸爸应用程序”将能够查询和显示所有应用程序整理的所有posts

我有两个想法,这怎么可能做到:

  1. Posts一个单独的远程数据库。这似乎可能是性能问题。
  2. 保留所有数据库在本地但运行cron作业以同步所有Posts

我不确定上述任何一种方法是否是解决此问题的最佳解决方案。

实现此目标的最佳方法是什么?

回答

1

我认为cron方法是一个很好的方法。但为了不使用直接的数据库连接,为什么不公开一个JSON API,其中每个应用程序都响应/posts.json?since=。通过这种方式,您可以获取所有最新的帖子来更新“爸爸应用程序”

您可能还想考虑使用引擎来实现Post/API,以便您可以在每个Rails应用程序之间共享此引擎。

另一种方法是让每个应用程序在发生时向“爸爸应用程序”提交帖子(例如通过延迟作业)。

相关问题