大型居民春季启动Web应用程序

问题描述 投票:0回答:0

Option 2似乎是理想的选择,因为它可以在不修改所有表的情况下提供多租期,同时提供隔离,并且与单独的数据库方法相比,需要更少的连接池。但是,潜在的缺点是,随着租户数量的增加,数据库迁移可能需要更长的时间。还有其他问题吗? 我正在使用春季靴子并想要实现以下内容,这是可能的吗?:

  1. 当一个新的租户注册时,该应用程序应创建一个新的模式及其关联表,并动态
  2. 无需重新启动。
  3. 仅在公共架构中存在
  4. tenant
  5. 表。
公共模式将包含一个

tenant

表:

  1. tenant
  2. 
    
  3. Id

Schema

地上,一个user_to_tenant表将将用户映射到租户,在登录过程中启用租户身份:USER_TO_TENANT
这种方法将在春季启动中有效地工作,并且是否有更好的方法来处理基于模式的多租户,或者您可以推荐其他两个选项吗?

Id


tenant_id

USER_ID[unique]注: 您可以假设该应用程序不是公开的 - 只有付费用户可以创建帐户,因此模式的数量将保持限制。 这取决于租户的创建频率,单个租户管理多少数据以及数据隔离要求是什么。我建议为每个租户部署多个Spring应用程序,具有自己的数据库的单个应用程序。 如果您坚持使用一个实例,我建议您选择3。春季不是真正为选项1和2设计的。当然,这是可能的,但是价格会太高。
java spring postgresql spring-boot hibernate
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.