littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于Spring Boot和Vue的SaaS多租户管理系统

项目简介

Airboot - SaaS - DataSource是轻量级通用多租户管理系统,支持【共享数据源,独立Schema】和【独立数据源】的SaaS模式,能完美适配混合云。租户间物理隔离,理论上租户数量可无限扩展,避免了【共享Schema,共享数据表】模式的性能瓶颈,即使某租户数据量巨大也不影响其他租户体验,客户还能随时将自己的Schema私有化。系统支持数据源 --> Schema一对多灵活配置,可按需决定租户共享或独享数据源以实现混合云效果,支持对大数据量租户单独优化及映射配置,且支持不停机动态切换数据源配置。

项目的主要特性和功能

多租户支持

  • 多个租户可共享一个数据源,但每个租户有独立的Schema。
  • 每个租户能拥有独立的数据源,实现物理隔离。
  • 支持租户在共享数据源和独立数据源之间灵活切换。

动态数据源切换

支持在不停机的情况下动态切换数据源配置。

数据隔离与扩展

  • 租户之间数据完全隔离,避免性能瓶颈。
  • 理论上租户数量可无限扩展。

数据源管理

  • 系统运行中可在数据源管理页面随时添加新的数据源。
  • 新增租户时可选择已建好的数据源。

批量刷库

可使用租户管理页面中的执行SQL功能进行自动批量刷库,应对数据库变更。

超级租户管理员

id为1的租户中的管理员是超级租户管理员,拥有系统最高权限。

代码生成

使用代码生成器可一键生成前后端代码。

安装使用步骤

环境准备

  • JDK 8+
  • Node.js 10+
  • MySQL 5.5+
  • Redis

后端启动

  1. 打开airboot-server/sql/common.sql,修改数据源表初始化数据为自己的数据源配置,确保租户表中有一个id为1的租户(仅需保证id为1,租户名称等可改动),其他租户可后续在系统创建。
  2. 新建公共库,将common.sql导入建表,在application - dev.yml配置文件中,将spring.datasource.dynamic.datasource.common的配置改为公共库配置。
  3. 查看租户表中id为1的租户的schema_name,以此新建数据库作为管理平台租户,将airboot-server/sql/tenant.sql导入此库建表。
  4. 检查application.ymlapplication - dev.yml各项配置,如Redis链接地址。
  5. 在IDE中启动开发调试,启动成功会提示Airboot Server启动成功!

前端启动

airboot - web目录下打开命令行: ```bash npm config set registry http://registry.npm.taobao.org/

npm config set sass_binary_site https://npm.taobao.org/mirrors/node - sass/

npm install

npm run dev `` 启动成功后浏览器访问 http://localhost/ 。管理员账号 admin,密码 admin123 。若选择管理平台租户登录,管理员账号有超级租户管理员`权限;登录其他租户,管理员仅为租户内部管理员权限。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】