《灯灯》多租户快速开发平台 3.9.0-java17-RC3 发布,升级 Spring Boot 3
3.9.0-java17-rc3 版本更新详情:
build
- spring-boot > 3.0.2
- spring-cloud > 2022.0.1
- druid > 1.2.15
- spring-boot-admin.version > 3.0.0
- hutool.version>5.8.12
feat
- (lamp-web-plus): 接入 vxe-table (合并vben)
- (lamp-web-plus): 接入 表单设计器 (合并vben)
fix
- (lamp-authority): 修复批量清理 登录日志 的bug,并兼容sql server 和oracle语法
- (lamp-authority): 修复批量清理 操作日志 的bug,并兼容sql server 和oracle语法
- (lamp-web-plus): 隐藏 数据源管理 界面的敏感字段:密码
- (lamp-web-plus): 修复 updateSchema 方法无法正确修改字段属性的bug
备注
- 此版本 activiti 工作流暂不可用
- druid 尚未适配,部分监控功能先禁用
分支说明
本次升级的代码在 java17 分支, master 分支中 3.9.0 版本 对应 java17 分支 3.9.0-java17 版本
master:稳定版;功能稳定,bug 少
jdk 8
spring cloud 2021.0.5
spring cloud alibaba 2021.0.4.0
nacos.version 2.1.2
spring boot 2.7.6
java17: 激进版;技术栈最新,可能存在未知 bug
jdk 17
spring cloud 2022.x
spring cloud alibaba 2022.0.0.0-RC1
nacos.version 2.2.0
spring boot 3.x
《灯灯》中后台快速开发平台
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 (独立数据源) | 每个租户独立一个数据源,执行代码时,动态切换数据源 | 可独立部署数据库,数据隔离性好、扩展性高、故障影响小 | 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 |
DATASOURCE_COLUMN (独立数据源 + 字段模式) | 每个租户独立一个 数据库 (数据源),执行代码时,动态切换数据源,在动态拼接 子租户 id 二次隔离 | 可独立部署数据库,数据隔离性好、扩展性高、故障影响小、支持大租户小门店形式 | 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 |
lamp 项目演示地址
- https://tangyh.top
演示地址账号:
- 平台管理员: 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
项目截图:
预览 | 预览 |
---|---|

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache NetBeans 17 正式发布
Apache NetBeans 17 已正式发布。NetBeans 是一个主要面向 Java 的集成开发环境,同时支持 C/C++、PHP、JavaScript 和其他编程语言。 对语言服务器协议(LSP) 支持进行了一系列的更新 Maven 集成更新 改进 YAML 编辑支持 更新对 PHP、Java 语法的处理 改进版本控制功能 改进编辑器 优化用户界面 数百个其他的小改进 / 修复 下载地址|Release Notes
- 下一篇
每日一博 | 如何使用 Kubernetes 实现应用程序的弹性伸缩
本篇文章利用 KEDA 使用 Prometheus 采集 APISIX 暴露出来的指标作为伸缩器,进而实现基于流量的应用程序弹性伸缩。 作者张晋涛,API7.ai 云原生工程师,Apache APISIX PMC。 原文链接 介绍 通常情况下,每个应用可以承载的压力都是固定的,我们可以通过提前进行压测来了解单应用程序副本的负载能力。如果在业务高峰,或者业务的请求压力增加时候,对应用进行横向扩容可以保证更好的为用户提供服务。 Apache APISIX 是一个高性能的云原生 API 网关,所有发送到上游应用程序的流量都将通过 APISIX,所以我们可以根据 APISIX 提供的流量指标,来判断应用程序是否需要进行弹性伸缩。 本文中将使用 KEDA 作为弹性伸缩的控制组件,用 Prometheus 采集 APISIX 提供的流量指标来进行应用的弹性伸缩。 KEDA 中如何使用 Prometheus 实现伸缩 KEDA 是一个 Kubernetes 中基于事件的自动伸缩组件,可以配置多种伸缩器。本文将使用 Prometheus 作为伸缩器 ,获取 APISIX 暴露出来的 metrics(指...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能