标签:
lamp-cloud微服务脚手架的前身是zuihou-admin-cloud,从3.0.0版别开端,改名为lamp-cloud,它是lamp项意图其间一员。
lamp-cloud微服务脚手架是一个根据SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE)的SaaS微服务脚手架,具有一致授权、认证后台办理体系,其间包括具有用户办理、资源权限办理、网关API、散布式业务、大文件断点分片续传等多个模块,支撑多业务体系并行开发,能够作为后端服务的开发脚手架。代码简练,架构明晰,合适学习和直接项目中运用。核心技术选用Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis、SpringBoot、Redis、RibbitMQ等首要结构和中间件。
lamp-cloud微服务脚手架功用:
1、服务注册&发现与调用:
根据Nacos来完成的服务注册与发现,运用运用Feign来完成服务互调, 能够做到运用HTTP恳求长途调用时能与调用本地办法相同的编码体会,开发者彻底感知不到这是长途办法,更感知不到这是个HTTP恳求。
2、服务鉴权:
经过JWT的办法来加强服务之间调度的权限验证,确保内部服务的安全性。
3、负载均衡:
将服务保存的rest进行署理和网关操控,除了往常常常运用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,能够帮咱们进行正常的网关管控和负载均衡。其间扩展和学习国外项意图扩展根据JWT的Zuul限流插件,方面进行限流。
4、熔断机制:
因为采取了服务的散布,为了防止服务之间的调用“雪崩”,选用了Hystrix的作为熔断器,防止了服务之间的“雪崩”。
5、监控:
运用Spring Boot Admin 来监控各个独立Service的运转状况;运用turbine来实时检查接口的运转状况和调用频率;经过Zipkin来检查各个服务之间的调用链等。
6、链路调用监控:
运用Zipkin完成微服务的全链路功用监控, 从全体维度到部分维度展示各项方针,将跨运用的一切调用链功用信息会集展示,可便利衡量全体和部分功用,而且便利找到毛病发生的源头,生产上可极大缩短毛病扫除时刻。有了它,咱们能做到:
恳求链路追寻,毛病快速定位:能够经过调用链结合业务日志快速定位错误信息。 可视化:各个阶段耗时,进行功用剖析。 依靠优化:各个调用环节的可用性、整理服务依靠联系以及优化。 数据剖析,优化链路:能够得到用户的行为途径,汇总剖析运用在许多业务场景。
7、数据权限
运用根据Mybatis的DataScopeInterceptor阻拦器完成了简略的数据权限
8、SaaS(多租户)的无感处理方案
运用Mybatis阻拦器完成对一切SQL的阻拦,修正默许的Schema,然后完成多租户数据阻隔的意图。 而且支撑可插拔。
9、二级缓存
选用J2Cache操作缓存,榜首级缓存运用内存(Caffeine),第二级缓存运用 Redis。 因为很多的缓存读取会导致 L2 的网络成为整个体系的瓶颈,因而 L1 的方针是下降对 L2 的读取次数。 该缓存结构首要用于集群环境中。单机也可运用,用于防止运用重启导致的缓存冷发动后对后端业务的冲击。
10、高雅的Bean转化
选用Dozer组件来对 DTO、DO、PO等目标的优化转化
11、前后端一致表单验证
谨慎的表单验证一般需求 前端+后端一起验证, 但传统的项目,均只能前后端各做一次查验, 后期规矩改动,又得前后端一起修正。 故在hibernate-validator的基础上封装了zuihou-validator-starter起步依靠,供给一个通用接口,能够获取需求校验表单的规矩,然后前端运用后端回来的规矩, 今后若规矩改动,只需求后端修正即可。
12、防跨站脚本进犯(XSS)
经过过滤器对一切恳求中的 表单参数 进行过滤
经过Json反序列化器完成对一切 application/json 类型的参数 进行过滤
13、当时登录用户信息注入器
经过注解完成用户身份注入
14、在线API
因为原生swagger-ui某些功用支撑不行友爱,故选用了国内开源的swagger-bootstrap-ui,并制作了stater,便利springboot用户运用。
15、代码生成器
根据Mybatis-plus-generator自定义了一套代码生成器, 经过装备数据库字段的注释,主动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规矩注解、Swagger注解等。
16、守时使命调度器:
根据xxl-jobs进行了功用增强。(如:指守时刻发送使命、执行器和调度器兼并项目、多数据源)
17、大文件/断点/分片续传
前端选用webupload.js、后端选用NIO完成了大文件断点分片续传,发动Eureka、Zuul、File服务后,直接翻开docs/chunkUploadDemo/demo.html即可进行测验。 经测验,本地约束仓库最大内存128M发动File服务,5分钟内能成功上传4.6G+的大文件,正式服耗时则会遭到用户带宽和服务器带宽的影响,时刻比较长。
18、散布式业务
集成了阿里的散布式业务中间件:seata,以 高效 而且对业务 0侵入 的办法,处理 微服务 场景下面对的散布式业务问题。
19、跨表、跨库、跨服务的相关数据主动注入器
用于处理跨表、跨库、跨服务分页数据的特点或单个目标的特点 回显相关数据之痛, 支撑对静态数据特点(数据字典)、动态主键数据进行主动注入。
20、灰度发布
为了处理频频的服务更新上线,版别回退,快速迭代,公司内部协同开发,本项目选用修正ribbon的负载均衡战略来完成来灰度发布。
lamp-cloud 更新日志:
v3.2.4
feat: 发送短信页面,发送状况支撑多选查询
refactor: 标准工作流接口地址和恳求办法
fix: 修正人物id非空判别反常
refactor: PageController query、handler*等办法的优化,使得每个办法责任愈加清晰
feat: 添加cache模块发动加载日志
refactor: 网关添加熔断日志
fix: 去除MioIO的发动默许加载装备
fix: 修正 WriteInterceptor 空指针
fix: 修正一致分页参数处理办法handleFetchParams,挑选了时刻区间参数时,无法传递一般参数的问题
加载全部内容
Spring Framework 免费版16.92MB121人下载 Spring Framework 5.3 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。
下载NutzWk企业级开源开发框架 v4.1.67.16 MB106人下载NutzWk是基于Nutz的Java开源企业级开发框架。 NutzWk是集成了Shiro权限控制、Ehcache缓存、Redis、Email服务、Quartz定时任务、Lucene搜索引擎、Beetl/Velocity模板引擎等技术的开源企业级开发框架。
下载Ember.js JavaScript MVC 框架 v3.11.0 beta21.58 MB106人下载Ember.js是一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars 模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态
下载Spring frxamework v5.0.717.87 MB104人下载Spring frxamework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架基于 Expert One-on-One Java EE Design and Development(ISB
下载Hibernate数据持久层框架66.09MB104人下载Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,
下载ApacheShardingSphere分布式数据库中间层生态圈58.21MB104人下载Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由JDBC、Proxy和Sidecar(规划中)这3款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。Apache ShardingSphere定位为关系型数据库中间件,旨在充分合理地在
下载Hutool JAVA工具集 v4.1.221.95 MB103人下载Hutool是一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件: 布隆过滤 缓存 克隆接口 类型转换 日期处理
下载Spring Framework 应用程序框架 v5.0.1175.27 MB103人下载Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架基于 Expert One-on-One Java EE Design and Development(ISB
下载Angular.js Web页面框架31.96MB103人下载Angular JS (Angular.JS) 是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作。 AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好。
下载angularjs Web页面框架 v6.1.1020.84 MB102人下载Angular JS (Angular.JS) 是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作。 AngularJS很小,只有60K,兼容主流浏
下载