hello-shop/samples/MultiTenancySample
2024-04-28 16:00:15 +08:00
..
MultiTenancySample.DatabaseIsolationService 零框架多租户设计方案 2024-04-28 16:00:15 +08:00
MultiTenancySample.FieldIsolationService 零框架多租户设计方案 2024-04-28 16:00:15 +08:00
MultiTenancySample.SchemaIsolationService 零框架多租户设计方案 2024-04-28 16:00:15 +08:00
MultiTenancySample.ServiceDefaults 零框架多租户设计方案 2024-04-28 16:00:15 +08:00
global.json 零框架多租户设计方案 2024-04-28 16:00:15 +08:00
MultiTenancySample.sln 零框架多租户设计方案 2024-04-28 16:00:15 +08:00
README.md 零框架多租户设计方案 2024-04-28 16:00:15 +08:00

零框架多租户设计方案

多租户应用程序是一种软件架构设计,允许单个实例的软件服务多个客户,每个客户被称为一个租户,租户之间的数据自动隔离的,租户之间的数据不会相互影响,租户和用户是一对多的关系。

零度框架中实现多租户

由于每个系统的需求不同,零度框架没有提供多租户的通用解决方案,但我们提供了三种多租户设计的思路,并提供了示例代码,以便于开发者根据自己的需求来实现多租户设计。

基于单表字段隔离租户数据

单表多租户设计是指在一个表中存储多个租户的数据,通过在表中增加一个 TenantId 字段来区分不同租户的数据,使用全局查询过滤器来过滤租户数据,使用拦截器来保存租户数据。

基于多数据库隔离租户数据

多数据库多租户设计是指为每个租户创建一个独立的数据库,通过数据库连接字符串来区分不同租户的数据,使用拦截器来设置数据库连接字符串。

基于单数据库架构隔离租户数据

基于 Schema 的多租户设计是指为每个租户创建一个独立的 Schema 名称 ,通过 Schema 来区分不同租户的数据,使用拦截器来设置 Schema 名称。