# purity-tenant **Repository Path**: Lbana/purity-tenant ## Basic Information - **Project Name**: purity-tenant - **Description**: 纯净版saas,只有基本的租户功能和权限认证。且微服务架构部署到k8s,并实现cicd - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-23 - **Last Updated**: 2024-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # demo20230823 #### 一、介绍 纯净版saas,只有基本的租户功能和权限认证,完全从 0 - 1 手撸,没有多余组件,也没有一大堆配置,就是非常单纯的租户功能。并且具备了一键切换 saas 隔离模式,从 表字段 切换到 数据库。且微服务架构部署到k8s,并实现cicd #### 二、基础环境 1. JDK 21 2. MySQL 8 3. Redis 6 4. nacos 2.4 #### 三、项目环境 1. SpringBoot Dependencies 3.3.4 2. SpringCloud Dependencies 2023.0.3 3. SpringCloudAlibaba Dependencies 2023.0.1.2 4. SaToken 1.37 5. mapstruct 1.6.2 6. hutool 5.8.25 #### 四、模块解析 [purity-gateway](purity-gateway) 网关 [purity-sso](purity-sso) 认证服务 [purity-tenant](purity-tenant) 租户服务 [purity-user](purity-user) 用户服务 #### 五、文件备注 1. nacos 共享yaml文件 share-config.yaml ```yaml # Sa-Token 配置 sa-token: # Token名称 token-name: satoken # Token有效期 timeout: 2592000 # Token风格 token-style: uuid # 配置 Sa-Token 单独使用的 Redis 连接 alone-redis: # Redis数据库索引(默认为0) database: 1 # Redis服务器地址 host: ${spring.data.redis.host} # Redis服务器连接端口 port: 6379 # Redis服务器连接密码(默认为空) password: ${spring.data.redis.password} # 连接超时时间 timeout: 10s # jpa 配置 spring: jpa: database-platform: org.hibernate.dialect.MySQL8Dialect generate-ddl: true show-sql: true database: mysql hibernate: ddl-auto: update ``` 2. 数据库初始化语句 请看 [server.sql](sql%2Fserver.sql),因为是 hibernate 的 ddl 自动生成功能,所以没有准备ddl相关sql语句,相关文档请看 https://blog.csdn.net/Maxiao1204/article/details/139765650 #### 六、环境部署(仅测试使用) 1. docker 安装 nacos 2.4,里面的 ip 记得换自己的 ```shell docker run -d --name nacos --privileged=true --restart=always -e MODE=standalone -e PREFER_HOST_MODE=192.168.2.33 -p 8848:8848 -p 9848:9848 nacos/nacos-server:v2.4.3 ``` 2. docker 安装 mysql8,如有需要记得做持久化 ```shell docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=lmh666... mysql:8 ``` 3. docker 安装 redis ```shell docker run -d --name redis -p 6379:6379 redis ```