介绍
基于sharding-datasource, jpa进行分库操作, 实现AbstractRoutingDataSource动态切换数据源
SaaS服务多租户介绍,每个租户的资源都是独立的,从入口到应用部署到数据,都是完全隔离的。每个租户相当于“托管”在提供服务的公司里面,公司做的其实是统一运维。好处在于,这个隔离非常彻底,基本不太会有相互影响;如果有特殊客户要求的定制化,也没啥处理难度。缺陷在于,很容易因为隔离和定制,导致版本不统一,资源也浪费比较大,因为是“代运维”的模式,因此服务成本也比较高。这个时候通常采用的数据库方式是分库
1. maven项目依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
2.application.yml配置
spring:
application:
name: jdbc-db-jpa
profiles:
include: jdbc
jpa:
show-sql: true
hibernate:
ddl-auto: none
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.sprin