一、引言
小编先解释一下什么叫多租户,什么场景下使用多租户。
多租户是一种软件架构技术,在多用户的环境下,共有同一套系统,并且要注意数据之间的隔离性。
举个实际例子:小编曾经开发过一套支付宝程序,这套程序应用在不同的小程序上,当使用者访问不同,并且进入相对应的小程序页面,小程序则会把用户相关数据传输到小编这里。在传输的时候需要带上小程序标识(租户ID),以便小编将数据进行隔离。
当不同的租户使用同一套程序,这里就需要考虑一个数据隔离的情况。
数据隔离有三种方案:
1、独立数据库:简单来说就是一个租户使用一个数据库,这种数据隔离级别最高,安全性最好,但是提高成本。
2、共享数据库、隔离数据架构:多租户使用同一个数据裤,但是每个租户对应一个Schema(数据库user)。-
3、共享数据库、共享数据架构:使用同一个数据库,同一个Schema,但是在表中增加了租户ID的字段,这种共享数据程度最高,隔离级别最低。
二、具体实现
这里采用方案三,即共享数据库,共享数据架构,因为这种方案服务器成本最低,但是提高了开发成本。
实现架构逻辑:
Mybatis-plus实现多租户方案
Myb