lamp-cloud是基于JDK 11+spring cloud(hox ton . sr10)+spring boot(2 . 3 . 10 . release)的微服务快速开发,其中可配置的SaaS功能尤为闪耀。它有很多模块,如RBAC功能、网关统一认证、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等。支持多业务系统、多业务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释完整,架构清晰,非常适合学习和企业作为基础框架使用。
功能介绍
1.租户管理:运营商管理所有租户创建
2.工作台:普通用户常用功能
3.组织管理:组织、岗位、用户资料维护、用户密码重置等。
4.资源中心:管理消息、短信和附件。
5.流程管理:流程部署、模型管理和流程示例。
6.系统设置:菜单、资源配置、角色管理、将用户绑定到角色、将菜单和资源授权到角色、字典、区域、系统参数、操作日志、登录日志、应用管理等。
7.网关设置:电流限制和访问阻止
8.开发者管理:预定任务、界面文档、注册& amp;配置中心、服务监控、数据库监控、zipkin监控、空中行走监控。
软件特色
服务注册&;发现和呼叫:
基于Nacos的服务注册和发现,以及使用Feign的服务互调,在使用HTTP请求远程调用时,可以达到与调用本地方法相同的编码体验,开发者完全意识不到这是一个远程方法,更不用说是HTTP请求了。
负载平衡:
服务保留的其余部分用于代理和网关控制。除了node.js和nginx,Spring Cloud系列的zuul和ribbon可以帮助我们进行正常的网关控制和负载均衡。其中,国外项目的扩展是基于JWT Zuul限流插件,限流。
服务认证:
JWT用于加强服务间调度的授权验证,确保内部服务的安全性。
熔断机制:
由于服务的分布性,为了避免服务之间的调用“雪崩”,使用Hystrix作为保险丝来避免服务之间的“雪崩”。
监控:
使用Spring Boot管理监控每个独立服务的运行状态;使用turbine实时检查接口的运行状态和调用频率;通过Zipkin看各种服务之间的调用链。
链接呼叫监控:
同时,Zipkin和SkyWalking作为本项目的全链路性能监控实现,可以显示从整体维度到局部维度的所有指标,集中显示跨应用的调用链的所有性能信息,可以方便地测量整体和局部性能,找到故障根源,大大缩短生产中的故障排除时间。
数据许可
数据权限功能是基于Mybatis使用DataScopeInnerInterceptor实现的。
SaaS的非归纳解决方案(多租户)
本项目支持三种常见的租户方案和免租户方案,同一套代码,只需修改一个配置就能实现租户模式切换。
缓存抽象
CacheOps是用来操作缓存的,有两个内置的实现:Caffeine和Redis,可以在没有Redis的紧急环境下让项目正常运行。
优雅的豆子变换
Dozer、BeanUtil和其他组件用于优化d to、DO、PO和其他对象的变换。
前端统一表单验证
严格的表单验证通常需要同时进行前端和后端验证,但传统项目只能前后测试一次,后面规则就变了,两端都得同时修改。所以基于hibernate-validator,封装了lamp-validator-starter的启动依赖,提供了一个通用接口来获取需要验证的规则,然后前端使用后端返回的规则。如果以后规则变了,只需要后端修改即可。
防跨站点脚本攻击(XSS)
通过筛选器筛选所有请求中的表单参数。
application/Json类型的所有参数都是通过Json反序列化器过滤的。
当前登录用户的信息注入器
通过注释注入用户身份
在线API
因为原生swagger-ui的某些功能支持不够友好,所以采用了国内开源的knife4j,并声明方便springboot用户。
编码发生器
基于Mybatis-plus-generator定制了一套代码生成器。通过配置数据库字段的注释,自动生成枚举类、数据字典注释、SaveDTO、UpdateDTO、表单验证规则注释、Swagger注释等。
定时任务计划程序:
功能基于xxl-job增强。(例如,在指定时间发送任务,合并执行程序和调度程序的项目,以及多个数据源)
大文件/断点/片段延续
前端采用Webupload.js,后端采用NIO。启动Eureka、Zuul和File的服务后,可以直接打开DOCS/chunkuploaddemo/demo . html进行测试。经测试,本地栈最大内存128M启动文件服务,5分钟即可成功上传4.6G+的大文件。耗时的正式服务会受到用户和服务器带宽的影响,时间会更长。
分布式交易
它集成了阿里的分布式交易中间件seata,以高效、侵入的方式解决微服务场景下的分布式交易问题。
跨表、跨数据库、跨服务的相关数据自动回显。
它用于解决跨表、数据库和服务分页数据,或者从单个对象的属性回显相关数据的难题。它支持静态数据属性(数据字典)和动态主键数据的自动注入。
灰度释放
为了解决在线频繁的服务更新、版本回滚、快速迭代、内部协同开发,本项目采用ribbon的负载均衡策略实现灰色发布。
lamp-cloud(微服务快速开发平台)相关下载
- 查看详情FlatBuffers(序列化库)简体2023-02-23
- 查看详情Bokeh(互动可视化库)简体2023-02-19
- 查看详情PowerJob(任务调度计算框架)简体2023-02-18
- 查看详情Excelize(Excel读写库)简体2023-02-11
- 查看详情WillPHP框架简体2023-02-10
- 查看详情 FlatBuffers(序列化库) 英文 2023-02-23
- 查看详情 Bokeh(互动可视化库) 英文 2023-02-19
- 查看详情 PowerJob(任务调度计算框架) 简体 2023-02-18
- 查看详情 Excelize(Excel读写库) 英文 2023-02-11
- 查看详情 WillPHP框架 简体 2023-02-10
- 查看详情 robosim虚拟机器人 简体 2023-02-26
- 查看详情 ANTS Performance Profiler(.NET性能分析工具) 英文 2023-02-26
- 查看详情 Java运行环境(Java SE Runtime Environment) 简体 2023-02-26