【问题标题】:rails: sharing information between 2 appsrails:在 2 个应用程序之间共享信息
【发布时间】:2010-06-23 15:45:23
【问题描述】:

我有这个中型应用程序开始变得过于复杂。我正在考虑把它分成两部分。但我不确定我将如何在它们之间共享信息。

我已经能够制作两大组模型;一组处理“图片”,另一组处理“销售数据”。

我猜有些实用模型,例如认证/授权相关的模型,将不得不被复制过来。但让我们专注于两大集团。

这两个数据集由不同的人维护,因此它们会很自然地分裂。

两组“重叠”的唯一地方是一对报告,它们从“图片”和“销售数据”中提取数据。两种情况下的信息都类似于一个哈希数组,具有不同的深度,指向微积分(每个系统大约 60 个数字)。

这几乎是唯一保持分裂的东西;我不确定在两个应用之间共享信息的最佳方式是什么。

我会很感激任何关于什么是完成此任务的最佳方法的指针。我应该尝试为两个应用程序使用相同的数据库吗?我应该改用某种网络服务吗?

【问题讨论】:

    标签: ruby-on-rails database web-services


    【解决方案1】:

    简单的解决方案是让两个应用程序使用同一个数据库。这样做的问题是你会在重叠的模型上得到一些代码重复。当然,您可以使用 git 子模块或自定义 gem 来修复它……关于这方面的一个有趣的研究是 rails 引擎。

    另一种解决方案是,一个应用程序拥有数据并公开一个 RESTful API,而另一个应用程序则从中提取数据。但随后您需要决定由哪一个来“管理”报告。

    这是一个非常复杂的决定,如果没有所有数据,我无法帮助您做出决定,但我希望这对您有所帮助^^

    【讨论】:

    • 跟我想的差不多。我希望有一个 rails 插件或类似的东西,但我认为你已经很好地描述了这两个选项。除非其他人提出更好的解决方案,否则答案是你的。
    • 既然没有人回答,那你的回答是最正确的!谢谢!
    【解决方案2】:

    另外,复制代码会产生缓存问题、并发问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多