一、开源项目简介
JPower
是由一款政府商业项目升级优化而来。
采用前后端分离的模式,前端开源项目:jpower-ui (基于 AVue、Vue、Element-UI)、JPowerWeb(基于 Vue、Element-UI)
JPower
基于SpringCloud(2020.0.1)
+ SpringBoot(2.4.2)
的微服务快速开发平台. 具备网关统一鉴权、Xss防跨站攻击、分布式事务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和作为基础框架使用。 JPower
的目标蓝图是能够打造一款集成各种比较好用的工具于一体的开发框架,例如可在页面配置各种报表,集成echarts可实现快速生成页面,各种场景下的数据传输等等各类工具。 目前只是开发了基础的架构,后续会逐渐开发各种各样的工具到框架中。
核心技术采用Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、SkyWalking等主要框架和中间件。 希望能努力打造一套集 基础框架
—>分布式微服务架构
—> 工具集成
—> 系统监测
的解决方案。本项目旨在实现基础能力,不涉及具体业务。
采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
集成Sentinel从流量控制、熔断降级等多个维度保护服务的稳定性。
基于MybatisPlus-generator实现了代码生成器。
二、功能概述
业务功能介绍:
- 租户管理:超级用户角色管理所有的租户创建
- 组织管理:部门、用户数据维护、重置用户密码等
- 权限设置:数据权限、角色管理、给角色绑定用户、给角色授权菜单和资源
- 系统设置:菜单功能、附件管理、字典、行政地区、系统参数、应用管理等
- 网关管理:限流和阻止访问、注册中心
- 系统监控:接口文档、服务监控、SkyWalking监控等
三、技术选型
技术栈
- 缓存:Redis
- 数据库: MySQL 5.7
- 持久层框架: Mybatis-plus
- API网关:Gateway
- 服务注册与发现: Nacos
- 服务消费:OpenFeign
- 负载均衡:Ribbon
- 配置中心:Nacos
- 服务熔断:Hystrix
- 项目构建:Maven 3.3
- 分布式事务: seata
- 分布式系统的流量防卫兵: Sentinel
- 监控: spring-boot-admin
- 链路调用跟踪&APM监控: skywalking
- Nginx
部署方面
- 服务器:CentOS
- Docker 18
- Nginx
技术应用说明
- 基于SpringCloud(2020.0.1) + SpringBoot(2.4.2) 的微服务快速开发平台. 具备网关统一鉴权、Xss防跨站攻击、分布式事务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和作为基础框架使用。 JPower 的目标蓝图是能够打造一款集成各种比较好用的工具于一体的开发框架,例如可在页面配置各种报表,集成echarts可实现快速生成页面,各种场景下的数据传输等等各类工具。 目前只是开发了基础的架构,后续会逐渐开发各种各样的工具到框架中。
- 核心技术采用Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、SkyWalking等主要框架和中间件。 希望能努力打造一套集 基础框架 —>分布式微服务架构 —> 工具集成 —> 系统监测 的解决方案。本项目旨在实现基础能力,不涉及具体业务。
- 采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
- 注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
- 集成Sentinel从流量控制、熔断降级等多个维度保护服务的稳定性。
- 基于MybatisPlus-generator实现了代码生成器。
四、界面展示
五、开源协议
使用Apache2.0开源协议
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)