rails:在2个应用之间共享信息

时间:2010-06-23 15:45:24

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

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

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

我想,必须复制一些实用新型,例如与认证/授权相关的实用新型。但是让我们专注于两个大集团。

这两个数据集由不同的人陪伴,所以他们会自然地分裂。

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

这几乎是举行分裂的唯一因素;我不确定在两个应用程序之间共享信息的最佳方式是什么。

我很欣赏任何指向实现这一目标的最佳方法。我应该尝试为两个应用程序使用相同的数据库吗?我应该使用某种Web服务吗?

2 个答案:

答案 0 :(得分:4)

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

另一种解决方案是1个应用程序拥有数据并公开RESTful API,而另一个应用程序从中获取。但是,你需要决定哪一个“管理”报告。

这是一个相当复杂的决定,如果没有所有数据,我无法帮助你做到这一点,但我希望这对你有所帮助^^

答案 1 :(得分:0)

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