具有多个数据库的Grails多租户

ren*_*enz 5 grails multiple-databases multi-tenant

我似乎无法找到任何有关Grails Multitenancy with Multiple Databases(每个租户一个)的更新资源/指南,插件或示例.我目前坚持使用https://grails.org/plugin/multi-tenant-single-db和过时的https://grails.org/plugin/multi-tenant-core.

如何执行依赖于登录用户的数据库切换?

Eja*_*med 3

Grails 抽象出了很多 Hibernate 的东西,因此 Gorm 和 Hibernate 之间存在阻抗不匹配。这样的问题之一就是基于租户加载多个数据源。如果您采用每个数据库策略的租户,请做好硬战的准备。除了涉及的复杂性之外,还有很长的路要走,因为在此策略中数据库维护成本相当高。大多数现代应用程序都使用单数据库单模式方法,我也在我的插件中使用了这种方法。目前该插件使用 Spring Security 解析租户。采用这种方法的原因是我正在开发的应用程序是一个从单个域提供服务的 SaaS 应用程序。如果您必须从多个域提供服务,则需要对此插件进行少量修改。

关于迁移到grails3,它于2015年3月发布,在一年的时间里,经历了各种改进和错误修复。它足够稳定,值得依赖,而且它几乎已经移植了所有必需的插件。如果您正在构建新的应用程序,则必须采用 grails3 方式。如果您有现有的应用程序,可以考虑迁移到grails3。