-
Spring Boot、Hibernate和Postgresql的多租户实现Demo展示
资源介绍
多租户
多租户(Multi Tenancy / Tenant)是一种软件架构,其定义是:在一台服务器上运行分区应用实例,它为多个租户提供服务。
概念是抽象的,但是理解起来并不困难,简单来说就是分组,举个例子:我们管理学校学生的时候,可以按照不同的范围来进行分组,例如我们可以按照学生个人为单位进行分组,也可以按照班级为单位进行分组,然后班级下面有很多的学生,也可以按照年级为单位进行分组,以学校为单位……这样的每一个分组的单位,都可以是我们概念里面说的一个租户。但是这样不就和我们以前说的按照面向对象来分类是一样的吗?其实是差不多的,但是存在一些细节上的互换,首先多租户架构的概念是针对数据存储的,我们是一个数据服务提供商,假设我们给所有的学校提供服务,对于我们来说,分组是按照学校为单位的,而且学校与学校之间互相没有任何关系,也就说学校与学校之间是隔离的,对于不同学校的数据我们需要将其隔离开来。这种数据的分组就是多租户架构要研究的问题。当然这只是概念上的区别,在实际使用上和我们传统的分组没有太大差异。
多租户的三种模式
多租户的架构分为以下三种:
独立数据库
共享数据库,独立架构
共享数据