一款神仙接私活 SaaS 快速开发平台!

推荐关注

扫码关注后端架构师”,选择星标公众号

重磅干货,第一时间送达!

责编:架构君 | 来源:GitHub猿 整理


上一篇好文:一文帮你彻底掌握Nginx


大家好,我是后端架构师。


今天,推荐一个微服务 SaaS 快速开发平台系统项目。猿哥第一次使用就有点上头,爱不释手,必须要推荐给大家。

上次是谁要的微服务 SaaS 快速开发平台系统项目啊,猿哥帮你找到了。

这是我目前见过最好的微服务 SaaS 快速开发平台系统项目。功能完整,代码结构清晰。值得推荐。

项目介绍

最近猿哥在逛网站的时候发现一个不错的开源项目,这个项目目前收获了 4.1K Star,猿哥觉得不错,值得拿出来和大家分享下。

图片[1]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

本项目是基于Jdk11 + SpringCloud + SpringBoot的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。扩展:接私活儿

图片[2]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

本项目亮点功能介绍:

  1. 服务注册&发现与调用:

    基于Nacos来实现的服务注册与发现,使用使用Feign来实现服务互调, 可以做到使用HTTP请求远程调用时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。

  2. 负载均衡:

    将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的gateway 和 loadbalancer 可以帮我们进行正常的网关管控和负载均衡。

  3. RBAC:

    通过JWT生成token,存储用户基本信息,并自研权限配置、鉴权方案。

  4. 熔断机制:

    因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Sentinel的作为熔断器,避免了服务之间的“雪崩”。

  5. 监控:

    利用Spring Boot Admin 来监控各个独立服务的运行状态、健康情况。

  6. 链路调用监控:

    同时实现了SkyWalking作为本项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间。另外,搜索公众号顶级架构师后台回复“网站”,获取一份惊喜礼包。

  7. 数据权限

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

  8. SaaS(多租户)的无感解决方案

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

  9. 缓存抽象

    采用CacheOps操作缓存,内置2种实现:Caffeine、 Redis,可以让项目应急时在无Redis环境正常运行

  10. 优雅的Bean转换

    采用Dozer、BeanUtil等组件来对 DTO、DO、PO等对象的优化转换

  11. 前后端统一表单验证

    严谨的表单验证通常需要 前端+后端同时验证, 但传统的项目,均只能前后端各做一次检验, 后期规则变更,又得前后端同时修改。
    故在hibernate-validator的基础上封装了lamp-validator-starter起步依赖,提供一个通用接口,可以获取需要校验表单的规则,然后前端使用后端返回的规则,
    以后若规则改变,只需要后端修改即可。

  12. 防跨站脚本攻击(XSS)

    • 通过过滤器对所有请求中的 表单参数 进行过滤

    • 通过Json反序列化器实现对所有 application/json 类型的参数 进行过滤

  13. 当前登录用户信息注入器

    • 通过注解实现用户身份注入

  14. 在线API

    由于原生swagger-ui某些功能支持不够友好,故采用了国内开源的knife4j,并制作了stater,方便springboot用户使用。

  15. 代码生成器

    基于Mybatis-plus-generator自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger注解等。

  16. 定时任务调度器

    基于xxl-jobs进行了功能增强。(如:指定时间发送任务、执行器和调度器合并项目、多数据源)

  17. 分布式事务

    集成了阿里的分布式事务中间件:seata,以 高效 并且对业务 0侵入 的方式,解决 微服务 场景下面临的分布式事务问题。

  18. 跨表、跨库、跨服务的关联数据自动回显

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

  19. 灰度发布

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

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧

技术栈/版本介绍:

部署方面:

本项目是lamp项目的其中一个项目,她基于jdk11/jdk8 + SpringCloud + SpringBoot 开发, 她是一个微服务中后台快速开发平台,可以通过插件无缝切换是否启用SaaS模式、通过配置切换SaaS模式采用独立数据库模式还是字段模式。

她具备SaaS模式切换、完备的RBAC功能、网关统一鉴权、灰度发布、数据权限、可插拔缓存、统一封装缓存的key、表单校验前后端统一验证、字典数据自动回显、Xss防跨站攻击、自动生成前后端代码、多种存储系统、分布式事务、分布式定时任务等多个功能和模块, 支持多业务系统并行开发, 支持多服务并行开发,是中后台系统开发脚手架的最佳选择。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。

核心技术采用Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、RabbitMQ、FastDFS/MinIO、SkyWalking等主要框架和中间件。希望能努力打造一套从 Web基础框架 - 分布式微服务架构 - 持续集成 - 系统监测 的解决方案。本项目旨在实现基础框架能力,不涉及具体业务。

灯灯(简称灯, 英文名:lamp),他是一个项目的统称,由"工具集"、"后端"、"前端"组成,包含以下几个子项目:

工具集

项目

备注

lamp-util

核心工具集

lamp-generator

代码生成器

lamp-job

分布式定时调度器

后端

项目

备注

lamp-cloud

SpringCloud(微服务)版

lamp-boot

SpringBoot(单体)版

lamp-samples

微服务版示例:常用示例

前端

项目

备注

lamp-web-plus(强烈推荐!)

基于 vue-vben-admin (vue 3 + ant design vue 2)

lamp-web

基于 vue-admin-element (element-ui)

新手小白高效的提问

当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为群主或者群里面其他大神更乐于回答那些表现出能从答案中学习的人的问题。另外,搜索公众号Linux就该这样学后台回复“git书籍”,获取一份惊喜礼包。

如果得不到回答

如果仍得不到回答,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。

为什么我问的问题没人回答,别人问的问题,却很快有人响应?功能演示:预览预览

图片[3]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

图片[4]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

图片[5]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

图片[6]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

图片[7]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

图片[8]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

最后,想学习这个项目的可以查看项目地址:

项目源码,怎么领取?

源码获取

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧

扫码下方二维码,后台回复【SaaS】即可获取所有系统

图片[9]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个赞 + 在看啦!️

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧

PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看。

最后给读者整理了一份BAT大厂面试真题,需要的可扫码加微信备注:“面试”获取。

图片[10]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI


版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

END最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份2021年最新最全BAT等大厂Java面试经验总结。

图片[11]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

别找了,想获取史上最全的Java大厂面试题学习资料

扫下方二维码回复面试就好了

图片[12]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

历史好文:

10w 行级别数据的 Excel 导入优化记录

面试官:MySQL 批量插入,如何不插入重复数据?

写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!

如何搭建一台永久运行的个人服务器?

Java8 中一个极其强悍的新接口,炸裂!很多人没用过(非常实用)

看看人家那 IM 即时通讯系统,那叫一个优雅

京东一面,面试官问我如何用 Nginx 禁止国外 IP 访问网站,我直接凉凉!

一套全部代码开源的快速开发平台,毫无保留给个人及企业免费使用

为什么很多 SpringBoot 开发者放弃了 Tomcat,选择他?

图片[13]-一款神仙接私活 SaaS 快速开发平台!-JieYingAI捷鹰AI

扫码关注“后端架构师”,选择“星标”公众号

重磅干货,第一时间送达!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享