私有应用程序之间共享一些数据

时间:2013-12-21 11:04:13

标签: ruby-on-rails database-design orm cron rails-activerecord

我正在构建一个将部署在多个服务器上的Rails应用程序,每个服务器都使用自己的数据库。这些应用程序中的大多数数据都是该应用程序的唯一且私有的。

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

我有两个想法可以做到这一点:

  1. Posts设置单独的远程数据库。这似乎可能是性能问题。
  2. 将所有数据库保持在本地但运行cron作业以同步所有Posts
  3. 我不确定上述任何一种方法是否都是此问题的最佳解决方案。

    实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

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

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

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