《灯灯》多租户快速开发平台 3.10.0-java17 版本发布,适配 jdk 17
3.10.0-java17 版本更新详情:
build
- spring-cloud-dependencies.version>2022.0.3
- spring-boot-starter-parent>3.1.2
- spring-cloud-alibaba-dependencies.version>2022.0.0.0
- nacos.version>2.2.4
- spring-boot-admin.version>3.1.3
- hutool.version>5.8.21
- druid.version>1.2.18
refactor
- 岗位名称校验唯一性时,只判断同一级别下的岗位是否重名
- 组织名称校验时,只判断同一级别下的组织是否重名
fix
- (lamp-core): EnumDeserializer 适配新版本
- (lamp-oauth-server): 修改获取IP的方法,便于获取本地iP
- connectType数据修改为{SYSTEM:系统;CUSTOM:自定义}
《灯灯》中后台快速开发平台
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
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
- 链路调用跟踪:SkyWalking
- 文件服务器:FastDFS 5.0.5 / 阿里云 OSS / 本地存储 / MinIO
- Nginx
- 部署方面:
- 服务器:CentOS
- Jenkins
- Docker
- Kubernetes

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
@ControllerAdvice注解使用及原理探究 | 京东物流技术团队
最近在新项目的开发过程中,遇到了个问题,需要将一些异常的业务流程返回给前端,需要提供给前端不同的响应码,前端再在次基础上做提示语言的国际化适配。这些异常流程涉及业务层和控制层的各个地方,如果每个地方都写一些重复代码显得很冗余。 然后查询解决方案时发现了@ControllerAdvice这个注解,可以对业务异常进行统一处理。经过仔细了解后,发现这个注解还有更多的用处,都很实用。 1 ControllerAdvice介绍 @ControllerAdvice一般和三个以下注解一块使用,起到不同的作用, @ExceptionHandler: 该注解作用于方法上,,可以捕获到controller中抛出的一些自定义异常,统一进行处理,一般用于进行一些特定的异常处理。 @InitBinder:该注解作用于方法上,用于将前端请求的特定类型的参数在到达controller之前进行处理,从而达到转换请求参数格式的目的。 @ModelAttribute:该注解作用于方法和请求参数上,在方法上时设置一个值,可以直接在进入controller后传入该参数。 2 ControllerAdvice应用场景 2.1@...
- 下一篇
BeetlSQL 3.23.7 发布,新增 MyBatis-Flex、EasyQuery 性能测试
调整SqlIdFactory实现,使用类全路径名作为sqlId标识 调整BeetlSQL+SpringBoot集成方式,支持SpringBoot3 新增MyBatis-Flex,EasyQuery 俩款ORM工具性能测试 maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.23.7-RELEASE</version> </dependency> BeetlSQL 自主研发自 2015 年,目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,写起数据库访问代码特别顺滑,不亚于 MyBatis。你不想写 SQL 也好,或者想更好地写 SQL 也好,BeetlSQL 都能满足这要求,目前支持的数据库如下 传统数据库:MySQL (包括支持 MySQL 协议的各种数据库), MariaDB ,Oralce ,Postgr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案