简介
大约 3 分钟
一、名字由来
在一个夜黑风高的晚上,小孩吵着要出去玩,于是,我和程序员老婆一起带小孩出去遛弯。路上讨论给项目改名,在双方想出的名字都被对方否决后,我俩都陷入了沉思。走着走着,走到一盏路灯下,小孩指着路灯打破宁静,喊出“灯灯~灯灯~” ,我和媳妇愣了一下,然后对视一眼,一同说道:“哈哈,这个名字好”
二、项目简介
她是基于 jdk11/jdk8
、SpringCloud
、SpringBoot
开发的微服务快速开发平台,专注于多租户解决方案。她拥有RBAC、网关统一鉴权、Xss防跨站攻击、代码自动生成、多种存储系统、分布式事务、分布式定时任务等功能,支持多业务系统、多服务并行开发,可以作为Java Web项目的开发脚手架。代码优美,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
核心技术采用Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、RabbitMQ、FastDFS/MinIO、SkyWalking等主要框架和中间件。希望能努力打造一套从 JavaWeb基础框架
- 分布式微服务架构
- 持续集成
- 系统监测
的解决方案。本项目旨在实现基础能力,不涉及具体业务。
三、项目组成
灯灯(简称灯, 英文名:lamp),她是一个项目集,由工具集、后端、前端组成,如图:

为满足高内聚低耦合设计原则,将一个大项目拆解为以下几个子项目:
工具集
项目 | Gitlab | 备注 |
---|---|---|
lamp-util | lamp-util | 核心工具集 |
lamp-generator | 已合并到lamp-cloud-pro和lamp-boot-pro | 代码生成器 |
lamp-job | lamp-job | 分布式定时调度器 |
项目 | Gitlab | 备注 |
---|---|---|
lamp-util | lamp-util-plus | 核心工具集 |
lamp-generator | lamp-generator-plus | 代码生成器 |
lamp-job | lamp-job-plus | 分布式定时调度器 |
项目 | gitee | github | 备注 |
---|---|---|---|
lamp-util | lamp-util | lamp-util | 核心工具集 |
lamp-generator | lamp-generator | lamp-generator | 代码生成器 |
lamp-job | lamp-job | lamp-job | 分布式定时调度器 |
后端
项目 | datasource模式 | column模式 | none模式 | 备注 |
---|---|---|---|---|
lamp-cloud | lamp-cloud-pro | lamp-cloud-pro | lamp-cloud-pro | 微服务版 |
lamp-boot | lamp-boot-pro | lamp-boot-pro | lamp-boot-pro | 单体版 |
项目 | Gitlab | 备注 |
---|---|---|
lamp-cloud | lamp-cloud-plus | 微服务版 |
lamp-boot | lamp-boot-plus | 单体版 |
项目 | gitee | github | 备注 |
---|---|---|---|
lamp-cloud | lamp-cloud | lamp-cloud | 微服务版 |
lamp-boot | lamp-boot | lamp-boot | 单体版 |
lamp-samples | lamp-samples | lamp-samples | 微服务版示例 |
前端
项目 | gitee | 备注 | 演示地址 |
---|---|---|---|
lamp-web-pro | lamp-web-pro | 基于 vue-vben-admin (vue 3 + ant design vue 3) | https://datasource.tangyh.top |
项目 | gitee | github | 备注 | 演示地址 |
---|---|---|---|---|
lamp-web | lamp-web | lamp-web | 基于 vue-admin-element (vue2 + element-ui) | https://boot.tangyh.top/lamp-web |
lamp-web-plus | lamp-web-plus | lamp-web-plus | 基于 vue-vben-admin (vue 3 + ant design vue 3) | https://boot.tangyh.top |
四、lamp 租户模式介绍
灯灯可以使用租户模式和非租户模式,其中租户模式支持独立数据库(DATASOURCE模式)、共享数据架构(COLUMN模式)。
租户模式 | 描述 | 优点 | 缺点 | 对应的后端项目 |
---|---|---|---|---|
NONE 非租户模式 | 没有租户 | 简单、适合独立系统 | 缺少租户系统的优点 | lamp-cloud-pro-none lamp-boot-pro-none |
COLUMN 字段模式 | 租户共用一个数据库,在业务表中增加字段来区分 | 简单、不复杂、开发无感知 | 数据隔离性差、安全性差、数据备份和恢复困难、 | lamp-cloud-pro-column lamp-boot-pro-column |
DATASOURCE 独立数据源 | 每个租户独立一个 数据库(数据源),执行代码时,动态切换数据源 | 可独立部署数据库,数据隔离性好、扩展性高、故障影响小 | 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 | lamp-cloud-pro-datasource-column lamp-boot-pro-datasource-column |
DATASOURCE_COLUMN 独立数据源+字段模式 | 每个租户独立一个 数据库(数据源),执行代码时,动态切换数据源,在动态拼接 子租户id 二次隔离 | 可独立部署数据库,数据隔离性好、扩展性高、故障影响小、支持大租户小门店形式 | 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 | lamp-cloud-pro-datasource-column lamp-boot-pro-datasource-column |
五、演示地址
👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。