0

问题 :

我有多个 grails 项目(比如说 appA、appB 和 appC):准确地说是服务

我想在单个 grails-app 中运行它们.. 可能是战争部署,我该怎么做?

要求 :

我希望这是一个单独的应用程序,因为我将它部署在云上,并且我没有足够的内存来单独保存所有这些服务实例。

多个 grails 项目的原因是可伸缩性。这样如果以后我想运行 10 个 appA 实例、3 个 appB 实例和 1 个 aapC 实例;我应该能够做到这一点。

编辑:我可以使用 0mq 之类的东西吗,这有助于保持服务彼此分离。我将如何打包我的服务?并且阅读 0mq 的文档似乎可以与进程内进程和外部进程一起使用。HTTP 上的异步 grails 请求是否会在进程/外部 mq 调用中与 0mq 一起使用。没有使用过 0mq,但从最初的文档来看,它似乎可以工作。在这种情况下需要一些经验电话。

还有其他替代品或 mq 替代品吗?

4

2 回答 2

1

如果您已经将服务解耦,则应该将它们制作成插件。

grails 插件很像普通的 grails 应用程序,它可以添加域类、控制器、服务等,因此您可能不需要太多工作将当前应用程序转换为插件。您将不得不稍微调整一下配置。

然后,您可以创建一个包含三个插件的大应用程序,并且以后每当您想将它们部署为单独的应用程序时,您可以创建三个单独的应用程序,一个包含每个插件。

查看有关 Grails 插件的文档

于 2013-06-30T14:01:33.910 回答
1

如果您想构建大型 web 应用程序,您可以利用DataSources 插件来管理您在同一应用程序中的单独连接。您将遇到的问题是,如果您无法访问任何数据源,整个项目将失败,直到它可以建立 jdbc 连接。

于 2013-06-30T17:19:21.860 回答