如何打破整体Grails应用程序?

时间:2015-07-27 06:55:46

标签: java web-services grails refactoring grails-plugin

我们有一个 monolith Grails应用程序。现在,我们正在推动应用程序的产品化,并将其提供给不同的分支机构。我不确定在Grails 2.4中执行此操作的正确策略是什么。

我正在考虑首先使用核心服务/功能创建一个主干版本,可以根据需要轻松包含和排除。

  1. 我应该将域,控制器,服务类和视图分解为单独的插件吗?然后,如果需要,将分支版本添加到插件依赖项中?如何迁移到插件?
  2. 如果不是插件,我还能怎样实现上述目标? (微服务等)
  3. 或者我应该将当前的monolith应用程序作为主干版本,然后根据需要为每个分支修改它(不再分离服务)?
  4. 谢谢!

1 个答案:

答案 0 :(得分:1)

您需要分解此应用程序的唯一方法是沿着域行。如果您正在混合产品的域名,那么这可能最适合分割和建立沟通边界。

一些事情:

  1. 每次将monolith应用程序拆分为2时,您将不得不创建一个接口类的共享库,以便双方可以进行通信。 (我们将节省时间)您将不得不为此创建第二个应用程序。
  2. 分支机构并不意味着共享子项目。分支是根应用程序的分隔部分。例如,每个功能。 (那将是一个单独的分支)