《灯灯》多租户快速开发平台 4.18.0-jdk17 版本发布,多租户解决方案


4.18.0-jdk17 更新简介:

- feat(lamp-web-pro-soybean): 基于 [soybean-admin](https://github.com/soybeanjs/soybean-admin)[fast-crud](https://github.com/fast-crud/fast-crud) 封装的全新前端,架子基本成型。
- feat(lamp-web): 前端页面右下角,新增本页源码按钮(本功能为了方便开发人员,公司投入使用时,建议在前端删除此按钮)
- feat(lamp-util): 自行维护 fastdfs-client, 以支持jdk17
- refactor(lamp-web): 租户、部门切换页面优化
- refactor(lamp-base)BaseWebConfiguration配置优化
- refactor(lamp-common):启动类优化
- refactor(lamp-base): 优化单个附件下载接口
- refactor(lamp-base): 优化附件上传和回显接口和附件删除接口,com_filecom_appendix 表仅需要再defaults库,无需存放在base- refactor(lamp-oauth): 优化字典接口,支持查询单个字典和多个字典
- fix(lamp-system): 用户缓存问题,导致新建用户无法登录
- fix(lamp-base): SQL injection
- fix(lamp-base): arbitrary file upload
- fix(lamp-system): 删除应用时,同时删除logo
- fix(lamp-data-scope-sdk): 数据权限不控制应用id

 

 

《灯灯》中后台快速开发平台

lamp 项目组成

1) 工具集 ( lamp-util 项目必备,其他 2 个可选)

项目 gitee github 备注
工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot 项目都依赖它
定时调度器 lamp-job lamp-job  

2) 后端 (下面 2 个项目功能一致,任选其一即可)

项目 gitee github 备注
微服务版 lamp-cloud lamp-cloud SpringCloud 版
单体版 lamp-boot lamp-boot SpringBoot 版 (和 lamp-cloud 功能基本一致)

3) 前端 (下面 3 个项目功能一致,任选其一即可)

项目 gitee github 备注
租户后台 lamp-web lamp-web

master 基于 vue-admin-element 开发 (vue2.x)

4.x_java17 基于 vue3

lamp 和 php 没有什么关系,如果你非要说 lamp 是 Linux+Apache+MySQL+PHP,那就算是吧,毕竟 PHP 是世界上最好的语言,我也希望此项目成为世界上最好的后台框架!😈😈😈

lamp-cloud 简介

lamp-cloud 基于 java + SpringCloud + SpringCloudAlibaba+ SpringBoot 的微服务快速开发平台,其中的可配置的 SaaS 功能尤其闪耀, 具备 RBAC 功能、网关统一鉴权、Xss 防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。

核心技术采用 Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、RabbitMQ、FastDFS/MinIO、SkyWalking 等主要框架和中间件。 希望能努力打造一套从 JavaWeb基础框架 - 分布式微服务架构 - 持续集成 - 系统监测 的解决方案。本项目旨在实现基础能力,不涉及具体业务。

lamp 租户模式介绍

本项目可以通过配置,轻松切换项目的 多租户实现方式

租户模式 描述 优点 缺点
NONE (非租户模式) 没有租户 简单、适合独立系统 缺少租户系统的优点
COLUMN (字段模式) 租户共用一个数据库,在业务表中增加字段来区分 简单、不复杂、开发无感知 数据隔离性差、安全性差、数据备份和恢复困难、
DATASOURCE (独立数据源) 每个租户独立一个数据源,执行代码时,动态切换数据源 可独立部署数据库,数据隔离性好、扩展性高、故障影响小 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库
DATASOURCE_COLUMN (独立数据源 + 字段模式) 每个租户独立一个 数据库 (数据源),执行代码时,动态切换数据源,在动态拼接 子租户 id 二次隔离 可独立部署数据库,数据隔离性好、扩展性高、故障影响小、支持大租户小门店形式 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库

lamp 项目演示地址

  • https://tangyh.top

ps:演示环境中内置租户没有写入权限,若要在演示环境测试增删改,请新增租户账号后,登录新租户测试

ps:登录账号在登录页左边

lamp-cloud 技术栈 / 版本介绍:

  • 所涉及的相关的技术有:
    • JSON 序列化:Jackson
    • 消息队列:RabbitMQ
    • 缓存:Redis
    • 数据库: MySQL 8
    • 定时器:采用 xxl-jobs 项目进行二次改造
    • 前端:vue3 + ant design vue
    • 持久层框架: Mybatis-plus
    • 代码生成器:基于 Mybatis-plus-generator 自定义
    • API 网关:Gateway
    • 服务注册 & 发现和配置中心: Nacos
    • 服务消费:OpenFeign
    • 负载均衡:loadbalancer
    • 服务熔断:sentinel
    • 项目构建:Maven
    • 分布式事务: seata
    • 分布式系统的流量防卫兵: Sentinel
    • 监控: spring-boot-admin
    • 链路调用跟踪:SkyWalking
    • 文件服务器:FastDFS 5.0.5 / 阿里云 OSS / 本地存储 / MinIO / 华为云 OBS
    • Nginx
  • 部署方面:
    • 服务器:CentOS
    • Jenkins
    • Docker
    • Kubernetes

相關推薦

2024-01-17

,切换应用2级菜单没有清空问题 《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2024-03-05

r.config.js 减少ide警告     《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2023-12-29

性标记的菜单,导致切换后报404 《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2024-06-06

 SpringCloud、 SpringBoot 开发的微服务中后台快速开发平台,支持 jdk17、jdk11和jdk8,专注于多租户 (SaaS 架构) 解决方案,亦可作为普通项目(非 SaaS 架构)的基础开发框架使用,目前已实现 数据库隔离、字段隔离&

2024-06-28

 SpringCloud、 SpringBoot 开发的微服务中后台快速开发平台,支持 jdk17、jdk11和jdk8,专注于多租户 (SaaS 架构) 解决方案,亦可作为普通项目(非 SaaS 架构)的基础开发框架使用,目前已实现 数据库隔离、字段隔离&

2023-01-18

0 spring boot 3.0.1     《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2023-12-08

性字典,无法回显默认字典   《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2024-10-17

 SpringCloud、 SpringBoot 开发的微服务中后台快速开发平台,支持 jdk17、jdk11和jdk8,专注于多租户 (SaaS 架构) 解决方案,亦可作为普通项目(非 SaaS 架构)的基础开发框架使用,目前已实现 数据库隔离、字段隔离&

2024-09-28

 SpringCloud、 SpringBoot 开发的微服务中后台快速开发平台,支持 jdk17、jdk11和jdk8,专注于多租户 (SaaS 架构) 解决方案,亦可作为普通项目(非 SaaS 架构)的基础开发框架使用,目前已实现 数据库隔离、字段隔离&

2023-08-19

导致字段隐藏       《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2023-09-09

,同时清理用户的所有缓存   《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2022-08-16

2: https://boot.tangyh.top/lamp-web/ 《灯灯》中后台快速开发平台 如果你非要说 lamp 是 Linux+Apache+MySQL+PHP,那就算是吧,毕竟 PHP 是世界上最好的语言,我也希望此项目成为世界上最好的后台框架!😈😈😈 lamp-cloud 基

2022-06-07

护页面可正常显示资源类型   《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2023-11-05

设计 整体设计优化 bugfix 更多详情 MT-AUTH 是一款多租户权限管理系统,包含用户管理与 API 路由、共享、鉴权、缓存、跨域、安全防护等功能 应用场景 对于个人开发者,您可以: 无需从零构建用户相关功能,例如: