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


4.17.0 更新简介:

  • refactor: 登录后获取系统路由和资源的接口合并

  • refactor: 路由接口同时支持vben-admin和soybean-admin

  • fix(lamp-base-biz): 阿里云文件上传后浏览器访问url 文件名乱码

  • fix(lamp-base-biz): 保存角色资源时,清理缓存忽略applicationId

  • fix(lamp-base-biz): 删除角色时,清理缓存忽略applicationId

  • fix(lamp-web-pro): 顶部菜单混合模式不校验应用权限

  • fix(lamp-web-pro): 修复tab标签重新加载按钮无法传递参数导致页面404的问题

  • fix(lamp-web-pro): 应用授权页面,无法获取租户数据

  • fix(lamp-web-pro): 代码生成页面, 无法导入表

  • fix(lamp-web-pro): 固定某些组件的版本号,防止版本不一致导致的冲突

  • fix(lamp-web-pro): 个人中心修改密码时,表单校验异常

  • fix(lamp-web-pro): getFieldsValue方法必须配合 await 使用,否则无法获取正确值。

  • refactor(lamp-web-pro): 简化prettier.config.js 减少ide警告

 

 

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

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-04-04

据权限不控制应用id     《灯灯》中后台快速开发平台 lamp 项目组成 1) 工具集 ( lamp-util 项目必备,其他 2 个可选) 项目 gitee github 备注 工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot

2023-08-19

导致字段隐藏       《灯灯》中后台快速开发平台 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

2023-09-09

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

2023-01-18

0 spring boot 3.0.1     《灯灯》中后台快速开发平台 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 基

2023-12-08

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

2022-06-07

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

2023-07-15

ThingsPanel0.5.0的多租户功能满足了设备商和大型客户对物联网SaaS服务的需求。为在线物联网服务提供了快速实现方案。   基于ThingsPanel0.5.0,可以大大加速设备商的硬件产品化进程。   ThingsPanel的多租户功能分为

2023-11-05

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

2022-11-22

功能包括:增加跨环境集群同步功能,支持横向扩展的多租户架构;显著改进在Kubernetes上部署的工具集和指南,增强Alluxio的易管理性;以及通过优化S3 API 和 POSIX API 实现安全性和性能提升。 本次,Alluxio 2.9 社区版和企业版

2023-10-27

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

2022-09-24

Types.INTEGER, nullable = false) private Integer dataVersion; } 2、多租户防数据越权过滤 spring.sqltoy.unifyFieldsHandler=com.sagframe.sqltoy.plugins.SqlToyUnifyFieldsHandler 1、IUnifyFieldsHandler 统一字段处理中定义授权租户信息 public String[] authTenants(Class entit