相关软件
lamp-cloud是基于jdk11 + SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE) 的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
功能介绍
1、租户管理:运营人员管理所有的租户创建
2、工作台:普通用户常用功能
3、组织管理:组织、岗位、用户数据维护、重置用户密码等
4、资源中心:消息、短信、附件管理
5、流程管理:流程部署、模型管理、流程示例
6、系统设置:菜单、资源配置、角色管理、给角色绑定用户、给角色授权菜单和资源、字典、地区、系统参数、操作日志、登录日志、应用管理等
7、网关设置:限流和阻止访问
8、开发者管理:定时任务、接口文档、注册&配置中心、服务监控、数据库监控、zipkin监控、SkyWalking监控
软件特色
服务注册&发现与调用:
基于Nacos来实现的服务注册与发现,使用使用Feign来实现服务互调, 可以做到使用HTTP请求远程调用时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
负载均衡:
将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。
服务鉴权:
通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
熔断机制:
因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。
监控:
利用Spring Boot Admin 来监控各个独立Service的运行状态;利用turbine来实时查看接口的运行状态和调用频率;通过Zipkin来查看各个服务之间的调用链等。
链路调用监控:
同时实现了Zipkin和SkyWalking作为本项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间。
数据权限
利用基于Mybatis的DataScopeInnerInterceptor拦截器实现了数据权限功能
SaaS(多租户)的无感解决方案
本项目支持3种常见的租户解决方案和无租户方案,同一套代码,修改一个配置即可实现租户模式只有切换。
缓存抽象
采用CacheOps操作缓存,内置2种实现:Caffeine、 Redis,可以让项目应急时在无Redis环境正常运行
优雅的Bean转换
采用Dozer、BeanUtil等组件来对 DTO、DO、PO等对象的优化转换
前后端统一表单验证
严谨的表单验证通常需要 前端+后端同时验证, 但传统的项目,均只能前后端各做一次检验, 后期规则变更,又得前后端同时修改。 故在hibernate-validator的基础上封装了lamp-validator-starter起步依赖,提供一个通用接口,可以获取需要校验表单的规则,然后前端使用后端返回的规则, 以后若规则改变,只需要后端修改即可。
防跨站脚本攻击(XSS)
通过过滤器对所有请求中的 表单参数 进行过滤
通过Json反序列化器实现对所有 application/json 类型的参数 进行过滤
当前登录用户信息注入器
通过注解实现用户身份注入
在线API
由于原生swagger-ui某些功能支持不够友好,故采用了国内开源的knife4j,并制作了stater,方便springboot用户使用。
代码生成器
基于Mybatis-plus-generator自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger注解等。
定时任务调度器:
基于xxl-job进行了功能增强。(如:指定时间发送任务、执行器和调度器合并项目、多数据源)
大文件/断点/分片续传
前端采用webupload.js、后端采用NIO实现了大文件断点分片续传,启动Eureka、Zuul、File服务后,直接打开docs/chunkUploadDemo/demo.html即可进行测试。 经测试,本地限制堆栈最大内存128M启动File服务,5分钟内能成功上传4.6G+的大文件,正式服耗时则会受到用户带宽和服务器带宽的影响,时间比较长。
分布式事务
集成了阿里的分布式事务中间件:seata,以 高效 并且对业务 0侵入 的方式,解决 微服务 场景下面临的分布式事务问题。
跨表、跨库、跨服务的关联数据自动回显
用于解决跨表、跨库、跨服务分页数据的属性或单个对象的属性 回显关联数据之痛, 支持对静态数据属性(数据字典)、动态主键数据进行自动注入。
灰度发布
为了解决频繁的服务更新上线,版本回退,快速迭代,公司内部协同开发,本项目采用修改ribbon的负载均衡策略来实现来灰度发布。
下载地址
猜你喜欢
镭威视云 V3.6.9
下载中国农业银行天地融二代通用K宝驱动 V1.1.1.10
下载2345 看图王x86 x64 V11.3.0.10165
下载mhed V1.5.0
下载WPS office 2024夏季更新 V20241732
下载中考志愿模拟填报判定录取工具 V1.0
下载游戏常用运行库 合集 V2024.06.23
下载Topaz Gigapixel AI V7.2.1
下载小米坡 word文档转视频生成工具 V1.3
下载Heaventools Resource Tuner V2.24
下载UC Browser V13.6.0.1315
下载无限滑板 V2.0.5
下载WPS Office v11.1.0.12313官方免费版
下载梦幻西游 v1.383.0
下载Revit 2023 64位
下载Revit2022 64位
下载热门关键词
网友评论
广告更精彩
分类列表
类型列表
精品软件推荐
0条评论