基于微服务架构开源免费的企业级PaaS平台 基于Spring Cloud的微服务应用程序框架,可帮助公司更快,更高效地进行微服务开发
应用微服务、容器、DevOps等云原生技术,封装了大量技术开发包、技术应用组件、技术场景实现能力,并支持SaaS模式应用,提供了一个可支持企业各业务系统或产品快速开发实现的微服务应用数字化融合平台,富含各类开箱即用的组件G-General、A-AI、B-BigData、M-Mobile、D-DevOps,助力企业跨越Cloud(IaaS/PaaS)与自身数字化的鸿沟,共享业务服务的组合重用,为企业服务化中台整合、数字化转型提供强力支撑,也为企业提供了最佳架构实践。
提供:
源码下载说明 平台由多个微服务程序组成,源码包含在本项目的-service目录下,详情参见下文 的组成 中列示的服务链接
前端源代码包含在本项目-front目录下,种子数据及数据库初始化脚本包含在本项目-resource目录下
版本说明 目前开源版本代码是基于1.5版本进行部分功能的开源,企业版已发布至1.9版本。相较于开源版代码,企业版新增了许多特色功能以及对现有功能进行增强和优化,详情请查看更新日志 进行了解。
主要特征 平台治理 - 提供了一系列的服务治理功能,用户可在该服务下快速实现服务的路由管理、熔断、限流以及API权限刷新等功能,以及可以通过服务监控控制台来监控已经部署的服务。功能点包含服务管理、服务配置、限流规则、熔断规则、服务监控控制台、API访问控制、请求链路追踪等。
系统管理 - 该功能模块作为基础数据管理模块,主要包含了租户管理、角色管理、菜单管理、用户管理、配置管理、权限管理、登录管理、数据组管理、服务器定义等功能。用户可在该功能模块下进行账户、角色、菜单、权限等信息的维护,还可以自定义环境内的一些基础信息,例如修改LOGO、系统标题、页面布局方式。此外该功能模块下还提供了用户登录日志以及在线用户的查看,用户可在此功能下查看用户的登录信息和用户在线的情况。
开发管理 - 该功能模块下的功能主要用于为使用开发提供支持,主要包含了规则管理、多语言管理、个性化管理、值集管理、数据源管理、静态文本管理、CA证书管理、系统工具等功能。用户可以在该功能模块下配置一些开发过程中需要的数据,例如配置一些数据源、静态文本、值集、多语言等内容,通过平台提供的客户端API进行调用,这样就可以实现对一些配置数据的统一管理。
组织管理 - 该功能模块下的功能用于维护企业的组织架构信息以及员工信息。主要包含了组织信息、员工定义、组织架构、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(公司/部门/岗位)和员工信息,也可以通过第三方渠道(钉钉/企业微信)将组织架构信息一键导入到系统中。也可以使用组织架构和员工信息的导入功能将数据导入到系统中。
消息管理 - 提供了多种类型消息配置及发送的能力,提供消息发送的通用API,用户可通过此功能模块轻松实现多种类型消息的发送,无需烦恼对接多种消息平台。功能点包含系统公告与通知、消息模板配置、消息发送配置、消息接收配置、账户配置(包含邮箱、短信、企业微信、微信公众号、钉钉、webhook、电话语音配置)、接收组维护、消息监控。
文件管理 - 集成了多种常用的文件功能,用户可在界面上轻松实现文件的上传、下载、在线预览和编辑等。功能点包含文件存储配置、上传配置、汇总查询、在线编辑、文件预览、服务器上传以及PDF水印等,同时文件存储配置支持多种云平台,包含百度云、阿里云、腾讯云、华为云、京东云等。
分布式调度 - 基于Quartz 2.3.0自研的分布式调度平台,提供了一系列的配置API,用户可在界面上通过配置快速的创建分布式调度任务。功能点包含执行器管理、调度任务、调度日志、可执行定义、请求定义、并发请求等。
报表平台 - 无需开发任何代码,用户只需在界面上配置一系列参数即可实现多种类型报表的配置、在线渲染报表内容、报表导出以及标签打印等。功能点包含数据集、报表模板管理、报表定义、报表查询、报表请求、标签打印管理等功能。
通用数据导入 - 提供了通用的数据导入方案,用户仅需配置好导入模板即可在导入模板管理功能下实现数据导入功能,同时用户可以使用提供的通用导入组件来自定义实现数据导入(例如对导入的数据做一些自定义校验),支持Excel和CSV方式导入。此外,还提供了导入历史功能来查看数据导入的情况。
编译 开源的源码若要使用需要进行本地编译打包或上传到私人的maven仓库
执行-service目录下的install.bat或者install.sh脚本
在-service/pom.xml文件中添加仓库声明
<distributionManagement>
<repository>
<id>{Repository Id}</id>
<name>{Repository Name}</name>
<url>{Repository Url}</url>
</repository>
</distributionManagement> 复制代码 组成 该存储库包含文档的源代码。如果您要查找单个组件,则可访问组件自己的存储库中。
前端应用 -front - 前端使用AntD Pro进行封装拓展。核心技术栈包含React、AntD Pro 以及Node.js-template-parent - 登录首页模板,基于thymeleaf进行开发。目前支持标准页面和滑动页面两种。
后端微服务 -register - 基于Eureka的平台注册中心服务,包括服务注册发现,服务健康检查,服务监控,注册中心其他功能。-config - 配置服务作为配置中心,为微服务体系中的其他服务提供配置存储、配置推送的服务。Spring Cloud 提供了默认配置中心的实现,包含svn、git等几种实现,-config则是基于数据库的实现,可以管理大数据量的配置,并且有更快捷的配置推送方式。-gateway - 网关服务,基于Spring Cloud Gateway进行二次封装,作为平台统一的对外出入口,主要有服务路由、鉴权、流量控制等管理功能。-gateway-helper - 网关鉴权组件,提供鉴权的顶层接口端点以及鉴权过滤器接口,产品或项目完全可以自定义鉴权逻辑或者加入特定的鉴权逻辑。-oauth - -oauth 服务是基于 Spring Security、Spring OAuth2、JWT 实现的统一认证服务中心,登录基于 spring security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。同时还支持基于 Spring Social 的三方账号登录方式,如微信/QQ、支付宝、微博等,并提供拓展模式,支持更多三方渠道。-swagger - 用于对平台开发测试的API文档进行管理以及接口调试-admin - 管理服务,基础服务之一,把路由、限流、熔断等功能易用化,集中在管理服务来管控,提供自动化的路由刷新、权限刷新、swagger信息刷新服务,提供界面化的服务、配置、路由、限流、熔断管理功能以及Spring Boot Admin控制台。-platform - 平台基础功能服务,主要包含系统基础设置,如:系统配置、配置管理等;开发管理,如:值集管理、个性化管理、数据源管理等。-iam - 权限管理服务,平台统一的权限体系架构,用于管理角色、菜单、子账户等。-file - 文件管理服务,提供简单易用的文件存储功能,具备对接多种云对象存储服务的能力且易于拓展,同时支持服务器ftp协议文件上传,支持大文件断点续传、文件预览、word在线编辑、pdf水印等。-message - 消息管理服务,支持短信、邮箱、企业微信、钉钉、电话语音、Webhook、站内消息发送,并能够灵活管理消息模板和对接云平台支持的微服务。-scheduler - 分布式调度服务-Quartz服务端负责任务调度,任务的执行由执行器来完成。该服务具体包含执行器管理、并发任务管理、日志管理以及并发请求等。-report - 报表服务,通过配置数据集,执行SQL或者查询URL,获取数据以渲染平面报表、单据报表、图形报表的服务。-import - 通用导入服务,支持Excel、csv数据导入,支持自定义渲染Excel模板,自定义数据校验,自定义数据导入。Excel读取永远不会内存溢出。
服务插件 -plugin-parent - 服务可插拔功能管理服务,针对服务可插拔功能统一进行管理,服务需要用到时通过POM依赖的方式进行部署。
服务客户端 -boot-parent - 服务客户端管理服务,针对使用频率较高的功能从相应服务中抽取出客户端组件,便于服务中使用和日后的维护,服务中需调用时仅需引入相应客户端依赖并注入对应的客户端入口类即可。例如,在服务中需使用值集相关的API则直接引入平台服务客户端组件依赖并注入值集客户端入口类即可。
通用开发组件 -starter-parent - 通用开发组件,主要提供了服务内部的一些基础能力,包含通用mapper组件、通用redis工具组件、动态JDBC组件、SQL解析器组件等。
链接: https://pan.baidu.com/s/1bD282v0FQCySDbCA3lPw2A
提取码下载: