项目简介
Airboot - SaaS - DataSource是轻量级通用多租户管理系统,支持【共享数据源,独立Schema】和【独立数据源】的SaaS模式,能完美适配混合云。租户间物理隔离,理论上租户数量可无限扩展,避免了【共享Schema,共享数据表】模式的性能瓶颈,即使某租户数据量巨大也不影响其他租户体验,客户还能随时将自己的Schema私有化。系统支持数据源 --> Schema
一对多灵活配置,可按需决定租户共享或独享数据源以实现混合云效果,支持对大数据量租户单独优化及映射配置,且支持不停机动态切换数据源配置。
项目的主要特性和功能
多租户支持
- 多个租户可共享一个数据源,但每个租户有独立的Schema。
- 每个租户能拥有独立的数据源,实现物理隔离。
- 支持租户在共享数据源和独立数据源之间灵活切换。
动态数据源切换
支持在不停机的情况下动态切换数据源配置。
数据隔离与扩展
- 租户之间数据完全隔离,避免性能瓶颈。
- 理论上租户数量可无限扩展。
数据源管理
- 系统运行中可在
数据源管理
页面随时添加新的数据源。 - 新增租户时可选择已建好的数据源。
批量刷库
可使用租户管理页面
中的执行SQL
功能进行自动批量刷库,应对数据库变更。
超级租户管理员
id为1的租户中的管理员是超级租户管理员,拥有系统最高权限。
代码生成
使用代码生成器可一键生成前后端代码。
安装使用步骤
环境准备
- JDK 8+
- Node.js 10+
- MySQL 5.5+
- Redis
后端启动
- 打开
airboot-server/sql/common.sql
,修改数据源表初始化数据为自己的数据源配置,确保租户表中有一个id为1的租户(仅需保证id为1,租户名称等可改动),其他租户可后续在系统创建。 - 新建公共库,将
common.sql
导入建表,在application - dev.yml
配置文件中,将spring.datasource.dynamic.datasource.common
的配置改为公共库配置。 - 查看租户表中id为1的租户的
schema_name
,以此新建数据库作为管理平台租户,将airboot-server/sql/tenant.sql
导入此库建表。 - 检查
application.yml
及application - dev.yml
各项配置,如Redis链接地址。 - 在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】