tip: After joining the group, you can get a free code generator with the screenshot of Star
JPower
It is upgraded and optimized from a government commercial project.
Adopting the front-end and back-end separation model, front-end open source projects:jpower-ui (basedOn AVue、Vue、Element-UI)、JPowerWeb(basedOn Vue、Element-UI)
Boot version:JPowerBoot
JPower
basedOnSpringCloud(2020.0.1)
+ SpringBoot(2.4.2)
a rapid development platform for microservices
It has multiple modules such as unified gateway authentication, Xss anti-cross-site attack, and distributed transaction, and supports the parallel development of multi-service systems.
Supports parallel development of multiple services and can be used as a scaffolding for the development of back-end services. The code is concise, the comments are complete, and the structure is clear. It is very suitable for learning and use as a basic framework.
JPower
The blueprint of the goal is to be able to create a development framework that integrates a variety of useful tools, such as configuring various reports on the page, integrating echarts to achieve rapid page generation, data transmission in various scenarios, and so on. tool.
At present, only the basic architecture has been developed, and various tools will be gradually developed into the framework in the future.
Core technology adopts spring cloud alibaba、SpringBoot、Mybatis、Seata、Sentinel、SkyWalking main frameworks and middleware。
I hope to work hard to create a set of solutions that integrates basic framework
—>distributed microservice architecture
—> tool integration
—> system monitoring
. This project aims to achieve basic capabilities and does not involve specific businesses.
Using JWT for Token authentication can expand and integrate Redis and other fine-grained control schemes.
The registration center and configuration center select Nacos to strengthen the linkage between the modules while reducing the weight of the project.
The integration of Sentinel protects the stability of services from multiple dimensions such as flow control and fuse degradation.
The code generator is implemented based on MybatisPlus-generator.
ps: No write permission in the demo environment
Service registration & discovery and invocation:
Service registration and discovery based on Nacos, using OpenFeign to realize service intermodulation, It is possible to achieve the same coding experience as calling a local method when using HTTP requests for remote calls. Developers are completely unaware that this is a remote method, let alone an HTTP request.
Service authentication:
JWT is used to strengthen the authorization verification of scheduling between services to ensure the security of internal services.
Fuse mechanism:
Because of the distribution of services, in order to avoid the "avalanche" of calls between services, Sentinel is used as a fuse to avoid the "avalanche" between services.
Monitor:
Use Spring Boot Admin To monitor the running status of each independent Service; use SkyWalking to view the call chain between each service, etc.
Link call monitoring:
At the same time, it realized SkyWalking as the full link performance monitoring of this project, Various indicators are displayed from the overall dimension to the partial dimension, and the performance information of all call chains across applications is displayed in a centralized manner, which can facilitate the measurement of overall and partial performance, and facilitate the identification of the source of the failure, which can greatly shorten the troubleshooting time in production.
Data permission
The data permission function is realized by using the interceptor based on Mybatis
Anti-cross-site scripting attack(XSS)
Online API
Because some functions of native swagger-ui are not friendly enough, the domestic open source is adoptedknife4j
, And made a statuser, which is convenient for springboot users to use.
Distributed transaction
Integrate Ali's distributed transaction middleware: seata, with Efficient And for business 0 intrusion The way,Solve the distributed transaction problems faced in the microservice scenario。
Automatic query of dictionary data across tables, databases, and services
Used to solve the properties of cross-table, cross-database, cross-service paging data or the properties of a single object Echo the pain of dictionary data, Support for static data attributes(Data Dictionary)Automatic injection。
Grayscale release
In order to solve frequent service updates and launches, version rollbacks, rapid iteration, and collaborative development within the company, this project uses a modified spring-load-balancing load balancing strategy to achieve gray release.
Interface monitoring
In order to ensure that the interface is unblocked at any time, the monitoring of the interface is specially developed for this, and the interface monitoring of any other services can also be realized, and some custom parameter settings can be realized.
JPower
├── config -- Configuration file directory
├── jpower-core-login -- Authorized login module
├── jpower-core-server -- Core business module
├ ├── jpower-file -- File module
├ ├── jpower-user -- User module
├ ├── jpower-system -- System module
├── jpower-feign-api -- feign api
├ ├── jpower-file-api -- File Api
├ ├── jpower-system-api -- System Api
├ ├── jpower-user-api -- User Api
├── jpower-module-common -- Toolkit module
├ ├── common-auth -- Authorization Toolkit
├ ├── common-dbs -- Database toolkit
├ ├── common-deploy -- Basic Startup Kit
├ ├── common-exception -- Anomaly Toolkit
├ ├── common-log -- Log Toolkit
├ ├── common-nacos -- Nacos Toolkit
├ ├── common-redis -- Cache Toolkit
├ ├── common-feign -- The feign toolkit also integrates sentinel
├ ├── common-swagger -- Swagger Toolkit
├ ├── common-tool -- Basic Configuration Toolkit
├ ├── common-transaction -- Distributed Transaction Toolkit
├ └── common-utils -- Tools
├── jpower-module-gateway -- Gateway module
├── jpower-op-server -- Operation and maintenance module
├ ├── jpower-doc -- Swagger Page
├ ├── jpower-log -- Log Service
└── └── jpower-admin -- SpringBootAdmin
Preview | Preview |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.