lamp-cloud 3.7.0 发布,专注多租户解决方案


3.7.0 版本更新详情:

build

  1. 依赖升级
  2.    spring-boot 2.6.8
       spring-cloud-dependencies.version>2021.0.2
       spring-boot-admin.version>2.6.7
       hutool.version>5.8.1
       fastjson.version>1.2.83
  3. 拆分boot模块为 boot和mvc模块
  4. 将annotation模块中的部分model移动到core模块
  5. 删除废弃的RemoteData和相关代码
  6. 将代码中的字符串lamp替换为常量

feat

  1. 用户和岗位表新增创建人所属机构字段,并在新增数就是给与赋值

refactor

 

  • 1. swagger version 调整到 bootstrap.yml 中
  • 2. 废弃lamp-util项目中的lamp-security-starter模块(lamp-security-sdk + lamp-userinfo-sdk = lamp-security-starter模块)
  • 3. 新增lamp-security-sdk模块
  • 4. 新增lamp-userinfo-sdk模块
  • 5. 重构lamp-data-scope-sdk模块,使其解耦不在依赖业务服务的模块
  • 6. 新增lamp-model模块,用于存放业务相关的公共实体和VO
  • 7. 重构lamp-tenant-datasource-init模块,使其解耦
  • 8. 废弃lamp-tenant-datasource模块
  • 9. Echo 重命名为 EchoApi
  • 10. DictionaryType 重命名为 EchoDictType
  • 11. 优化lamp-cloud项目依赖,便于各个服务能独立编译。编译顺序为:lamp-dependencies 、lamp-public 、 lamp-authority、 lamp-msg、lamp-file、lamp-tenant、lamp-oauth
  • 12. @DS("#thread.tenant")修改为@DS(DsConstant.BASE_TENANT)、@DS(DsConstant.EXTEND_TENANT)
  • 13. 新增租户时,表结构和初始数据 脚本调整
  • 14. tenant服务 和 msg服务 启动时,默认连接2个库
  • 15. 调整sql适配3.x的表结构
  • 16. 优化机构管理页面布局
  • 17. 优化角色资源维护页面显示是否默认数据权限标识

fix

  1. 修复升级导致的序列化规则失效导致的bug
  2. 枚举类型空字符串时,报错的bug
  3. 修复机构类型枚举参数和字典值不匹配
  4. 修复角色资源维护页面可正常显示资源类型

 

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

lamp 项目组成

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

项目 gitee github 备注
工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot 项目都依赖它
代码生成器 lamp-generator lamp-generator 给开发人员使用
定时调度器 lamp-job lamp-job 尚未开发

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

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

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

项目 gitee github 备注
租户后台 lamp-web lamp-web 基于 vue-admin-element 开发 (vue2.x)
租户后台 (强烈推荐!👏👏👏) lamp-web-plus lamp-web-plus 基于 vue-vben-admin 开发 (vue3.x)

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

lamp-cloud 简介

lamp-cloud 的前身是 zuihou-admin-cloud,从 3.0.0 版本开始,改名为 lamp-cloud,它是 lamp 项目的其中一员。

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

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

lamp 租户模式介绍

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

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

lamp 项目演示地址

  • 后端使用 lamp-cloud-plus,前端使用 lamp-web-plus。演示地址: https://tangyh.top
  • 后端使用 lamp-cloud-plus,前端使用 lamp-web。演示地址: https://tangyh.top/lamp-web
  • 后端使用 lamp-boot-plus, 前端使用 lamp-web-plus。演示地址: https://boot.tangyh.top
  • 后端使用 lamp-boot-plus, 前端使用 lamp-web。演示地址: https://boot.tangyh.top/lamp-web

演示地址账号:

  • 平台管理员: lamp_pt/lamp (内置给公司内部运营人员使用)
  • 超级管理员: lamp/lamp
  • 普通管理员: general/lamp
  • 普通账号: normal/lamp

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

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

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

 

项目截图:

预览 预览
预览.png
预览.png 预览.png
预览.png 预览.png
预览.png 预览.png
预览.png 预览.png
预览.png 预览.png

相关文章

2023-01-18

微服务架构 - 持续集成 - 系统监测 的解决方案。本项目旨在实现基础能力,不涉及具体业务。 lamp 租户模式介绍 本项目可以通过配置,轻松切换项目的 多租户实现方式。 租户模式 描述 优点

2022-08-16

布式微服务架构 - 持续集成 - 系统监测的解决方案。本项目旨在实现基础能力,不涉及具体业务。 技术栈 开发方面: JSON 序列化:Jackson 消息队列:RabbitMQ 缓存:Redis 数据库: MySQL 5.7.9 或者 MySQL 8.0.19

2022-10-12

系统监控:接口文档、服务监控、SkyWalking 监控等 2.1.6 发布特性: 一键同步功能点 字典新增是否停用 字典类型去掉多租户模式 字典支持国际化 新增接口功能点拦截 新增LoaderService注解,实现自动生成接口实现类配

2022-09-18

系统监控:接口文档、服务监控、SkyWalking 监控等 2.1.5 发布特性: 新增岗位管理 部门管理新增按钮和新增下级按钮权限区分 功能管理改为懒加载 客户端验证新增密钥验证 解决用户修改租户后角色问题 个人信息编

2022-11-02

特点 接入微信开放平台,SaaS应用(微信小程序)一键授权发布; 完善的微信公众号、小程序帐号授权体系,基于API已全部封装,不用二次开发,你只需关注应用功能的开发; 支持VUE/React前后端分离,SSR形式和混合开发; 支持开发A

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

2022-09-13

的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边

2022-04-07

一、背景 Apache Flink 作为新一代的实时计算框架已经被应用到各个行业与领域,虽说应用程度不同,但都会遇到一些使用上的痛点,基础的应用痛点比如 FlinkSQL 作业提交不友好、作业无监控报警等。很大程度上说,FlinkSQL 大大

2022-10-20

近日,CNCF 发布了最新版本的云原生全景图。字节跳动多租户网关项目 KubeZoo 被收录,在 Provisioning-Automation & Configuration 领域占有一席之地。这意味着 KubeZoo 正式成为 CNCF 认可的构建云原生最佳实践中的一环。 Landscape

2022-11-22

/ Alluxio宣布正式发布数据编排平台2.9版本 / Alluxio 2.9 版本的主要新增功能包括: 新增跨环境集群同步功能、增强Alluxio在Kubernetes上的可管理性、提高S3 API 安全性和用户体验 2022年11月17日,全球首创的开源数据编排软件开发

2023-04-24

云版本 官方地址 演示账号:[email protected] 密:Password1! 演示账号:[email protected] 密:Password1! 注:当前版本为beta版,不保证数据安全并且随时回滚 更新日志 通用 改善了命名不统一的情况 数据库设计优

2023-04-01

的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边

2023-01-07

CoSec 基于 RBAC 和策略的多租户响应式安全框架。       更新内容(v1.9.0) 🎉 🎉 🎉 ⭐ 特性 特性:新增  RequestAttributesAppender API。 特性:新增  Ip2RegionRequestAttributesAppender,支持IP区域匹配器。

2023-01-09

CoSec 基于 RBAC 和策略的多租户响应式安全框架。       更新内容(v1.10.0) 🎉 🎉 🎉 ⭐ 更新内容 依赖:更新  io.opentelemetry:opentelemetry-bom 到 v1.22.0。 特性:新增  BoolConditionMatcher