精品为您呈现,快乐和您分享!

移动端

收藏本站

OK下载站

当前位置: 首页 > 软件下载 > 编程开发

lamp-cloud(微服务快速开发平台)v3.2.0官方版

lamp-cloud(微服务快速开发平台)v3.2.0官方版

类型:编程开发 语言:简体

大小:7.7M 更新时间:2021-05-07

推荐指数:

应用简介


lamp-cloud是一个基于jdk11+SpringCloudHoxton.SR10+SpringBoot2.3.10.RELEASE的微服务快速开发平台。可配置的SaaS功能尤为闪亮,拥有RBAC功能、网关统一认证、Xss跨站攻击防范、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块。









lamp-cloud是一个基于jdk11 + SpringCloud(Hoxton.SR10)+SpringBoot(2.3.10.RELEASE)的微服务快速开发平台。可配置的SaaS功能尤为闪亮,有RBAC功能、统一网关认证、XSS防范等。跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块支持多业务系统并行开发、多服务并行开发,可作为后台开发脚手架终端服务。代码简洁,注释齐全,结构清晰。非常适合学习和企业作为基础框架使用。



7ef6094a28e62df5_600_0.jpeg



特征



1.租户管理:运营人员管理所有租户创建



2. Workbench:普通用户常用功能



3、组织管理:组织机构、岗位、用户数据维护、重置用户密码等。



4.资源中心:消息、短信、附件管理



5.流程管理:流程部署、模型管理、流程实例



6、系统设置:菜单、资源配置、角色管理、用户与角色绑定、为角色授权菜单和资源、词典、区域、系统参数、操作日志、登录日志、应用管理等。



7.网关设置:限流、阻止访问



8.开发者管理:计划任务、接口文档、注册配置中心、服务监控、数据库监控、zipkin监控、SkyWalking监控



软件特点



服务注册发现和调用:



基于Nacos的服务注册和发现,使用Feign实现服务互调,在使用HTTP请求进行远程调用时,可以达到与调用本地方法相同的编码体验。开发人员完全没有意识到这是一个远程方法,更没有意识到这是一个HTTP请求。



负载均衡:



服务保留的其余部分用于代理和网关控制。除了常用的node.js和nginx之外,Spring Cloud系列的zuul和ribbon可以帮助我们进行正常的网关控制和负载均衡。其中,对国外项目的扩展和参考是基于JWT Zuul限流插件,对电流进行限制。



服务认证:



使用JWT加强服务之间调度的权限验证,保证内部服务的安全。



断路器:



因为服务的分布性,为了避免服务之间的调用“雪崩”,使用Hystrix作为保险丝,避免服务之间的调用“雪崩”。



监视器:



使用Spring Boot Admin监控各个独立Service的运行状态;使用turbine实时查看接口的运行状态和调用频率;使用Zipkin查看各个服务之间的调用链等



链接调用监控:



同时,本项目采用Zipkin和SkyWalking作为全链路性能监控。各项指标从整体维度到局部维度展示,跨应用的所有调用链性能信息集中展示,可以方便对整体和局部性能进行衡量,方便查找故障根源可以大大缩短生产中的故障排除时间。



数据许可



数据权限功能使用基于Mybatis的DataScopeInnerInterceptor拦截器实现



SaaS(多租户)非侵入式解决方案



该项目支持3种常见租户解决方案和无租户解决方案。使用同一套代码,只需修改一个配置即可实现租户模式之间的切换。



缓存抽象



它使用CacheOps来操作缓存,并有两个内置实现: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启动文件服务,5分钟内可成功上传4.6G+的大文件。正式服务时间会受到用户带宽和服务器带宽的影响,需要较长的时间。



分布式交易



与阿里巴巴分布式事务中间件seata集成,高效、零侵入地解决微服务场景下面临的分布式事务问题。



跨表、跨库、跨服务相关数据自动回显



用于解决跨表、跨库、跨服务分页数据或单个对象属性的关联数据属性回显之痛,支持静态数据属性(数据字典)和动态主键数据的自动注入。



灰度发布



为了解决公司内部服务频繁更新、版本回滚、快速迭代、协同开发等问题,本项目采用修改ribbon的负载均衡策略,实现灰度发布。