.. | ||
MultiTenancySample.DatabaseIsolationService | ||
MultiTenancySample.FieldIsolationService | ||
MultiTenancySample.SchemaIsolationService | ||
MultiTenancySample.ServiceDefaults | ||
multi-tenancy.svg | ||
MultiTenancySample.sln | ||
README.md |
零框架多租户设计方案
多租户应用程序是一种软件架构设计,允许单个实例的软件服务多个客户,每个客户被称为一个租户,租户之间的数据自动隔离的,租户之间的数据不会相互影响,租户和用户是一对多的关系。
零度框架中实现多租户
由于每个系统的需求不同,零度框架没有提供多租户的通用解决方案,但我们提供了三种多租户设计的思路,并提供了示例代码,以便于开发者根据自己的需求来实现多租户设计。
基于单表字段隔离租户数据
单表多租户设计是指在一个表中存储多个租户的数据,通过在表中增加一个 TenantId 字段来区分不同租户的数据,使用全局查询过滤器来过滤租户数据,使用拦截器来保存租户数据。
基于多数据库隔离租户数据
多数据库多租户设计是指为每个租户创建一个独立的数据库,通过数据库连接字符串来区分不同租户的数据,使用拦截器来设置数据库连接字符串。
基于单数据库架构隔离租户数据
基于 Schema 的多租户设计是指为每个租户创建一个独立的 Schema 名称 ,通过 Schema 来区分不同租户的数据。