《灯灯》多租户快速开发平台 4.16.0-java17 发布,多租户解决方案
4.16.0-java17 增强版更新简介:
代码位于分支: 4.x_java17
- feat: 4.x非租户模式首次开源
- refactor: 删除无用代码
- refactor: database.yml 文件拆分为mysql.yml、oracle.yml、sqlserver.ymlo
- feat: 新增"查询用户所有应用的可用路由树"接口
- refactor: 资源类型删除“视图”,使用“是否隐藏”来实现原来的“视图”功能
- feat: 应用管理页面,支持维护应用的默认地址
- feat: 顶部混合菜单模式下,首页点击应用时,支持切换到该应用的默认地址
- fix: 当固定住2级菜单时,切换应用2级菜单没有清空问题
《灯灯》中后台快速开发平台
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 项目演示地址
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
全球首发|原生开源大模型托管项目 CSGHub
关于CSGHub 大模型百花齐放的时代,数据和模型已成为企业和个人用户最核心的数字资产。然而,当前面临的挑战是模型文件和数据集的管理工具分散、管理手段单机化碎片化等问题。这些问题不仅带来了安全运营的巨大风险,也成为企业大模型能力更新迭代的阻力。 如果您像我们一样坚信大模型将成为信息革命的最重要推动力,您可能也会思考如何更高效、更安全、更可靠地管理大模型的核心资产:模型、数据以及代码。正是出于对这一挑战的深刻认知,我们推出了CSGHub —— 一个旨在解决大模型相关资产治理难题的开源项目。 CSGHub的使命是为用户提供一个开源开放的、针对大模型原生设计的资产管理平台,支持私有化部署和离线运行。我们的目标是为用户创造一个安全、高效且可信赖的环境,使其能够更好地管理和运用大模型核心资产数据。 CSGHub实现了类似私有化Huggingface的功能,以类比OpenStack Glance管理虚拟机镜像、Harbor管理容器镜像以及Sonatype Nexus管理制品的方式,以开源软件的方式实现对LLM资产的安全、高效管理。 CSGHub 官网:https://portal.opencsg....
- 下一篇
新增 PostgreSQL 数据库管理功能,1Panel 开源面板 v1.9.3 发布
2024年1月15日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.9.3版本。 在这一版本中,1Panel新增了PostgreSQL数据库管理功能,并且支持设置PHP运行环境扩展模版。此外,我们进行了30多项功能更新和问题修复。1Panel应用商店新增了3款应用,并且更新了22款应用。感谢社区用户们的反馈和支持,使得新版本的1Panel功能更加完善。 亮点更新 ■ 新增PostgreSQL数据库管理功能 1Panel v1.9.3版本引入了全新的PostgreSQL数据库管理功能,为用户提供更为强大的数据库管理体验。现在,用户可以直接在1Panel操作界面上执行各种PostgreSQL数据库操作,从而实现更加高效的数据管理和维护。 这一功能允许用户轻松连接到其PostgreSQL数据库实例,并且进行创建、编辑和删除数据库等操作,不仅简化了PostgreSQL数据库的日常管理任务,还提升了用户在1Panel平台上的工作效率。无论是数据库管理员、开发人员还是普通用户,都能通过1Panel v1.9.3版本的PostgreSQL数据库管理功能轻松、便捷地管理数据。 ▲...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题