跨学游戏网:纯净绿色软件游戏下载网站

电脑软件| 软件合集| 最近更新| 网站地图

当前首页:首页 > 电脑软件 > 编程开发 > lamp-cloud(微服务快速开发平台)

lamp-cloud(微服务快速开发平台)

lamp-cloud(微服务快速开发平台)

类型:编程开发版本:v3.2.0官方版更新:2023-02-26 07:17:07大小:7.7M系统:WinAll语言:简体

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的负载均衡策略实现灰色发布。