基于 MyBatis-Plus 的多租户数据隔离方案
什么是多租户?
多租户技术(Multi-Tenancy)是一种软件架构设计,允许多个用户(通常为企业或组织)共享同一套系统或应用程序,同时确保各用户之间的数据隔离。这种技术广泛应用于 SaaS(软件即服务)平台,能够有效降低运维成本,提高资源利用率。
核心思想:在一台服务器上运行单个应用实例,为多个租户提供服务,并通过技术手段实现数据隔离。
业务场景
多租户技术适用于以下场景:
- 企业内部系统:多个部门或子公司共用同一套系统,但数据需要隔离。
- SaaS 平台:为不同客户提供相同的功能,但数据完全独立。
- 共享数据库:多个租户共享同一个数据库,但通过字段标识区分数据。
解决方案
在多租户架构中,常见的实现方式包括:
- 共享数据库,共享表结构:所有租户使用同一个数据库和表,通过
tenant_id
字段区分数据。 - 共享数据库,独立表结构:每个租户使用独立的表,但仍共享同一个数据库。
- 独立数据库:每个租户拥有独立的数据库,完全隔离数据。
本文重点介绍第一种方式&