SpringBlade is a comprehensive project with the coexistence of SpringCloud distributed microservice architecture and SpringBoot single microservice architecture, which is upgraded and optimized from a commercial project. It uses Java8 API to reconstruct business code and fully complies with Alibaba coding specifications. Spring Boot 2, Spring Cloud Hoxton, Mybatis and other core technologies are adopted, and two front-end frameworks based on React and Vue are provided to quickly build an enterprise level SaaS multi tenant microservice platform.
Features:
1. The mode of front end and rear end separation is adopted, and the front end is open source with two frameworks: Sword (based on React and Ant Design) and Saber (based on Vue and Element UI)
2. The backend uses SpringCloud whole family bucket, and at the same time, it has made a high degree of encapsulation of its basic components, and has independently opened a framework: BladeTool
3. BladeTool has been pushed to the Maven central database, which can be directly introduced to reduce the bloated engineering and pay more attention to business development
4. The integrated Sentinel protects the stability of services from multiple dimensions such as flow control, fuse degradation, and system load.
5. The registration center and configuration center select Nacos to slim down the project and strengthen the linkage between modules.
6. Use Traefik for reverse proxy to monitor background changes and automatically apply new configuration files.
7. Simplicity encapsulates the multi tenant bottom layer, and uses less code to exchange for a more scalable SaaS multi tenant system.
8. With reference to OAuth2, a multi terminal authentication system is implemented, and the token permissions of the controllable subsystems are isolated from each other.
9. Using Security for reference, it encapsulates the Secure module and uses JWT for token authentication, which can expand the integration of fine granularity control schemes such as Redis.
10. After two years of stable production, we have experienced the technical architecture of Camden ->Hoxton and the deployment architecture of fat jar ->docker ->k8s+jenkins
11. The project subcontracting is clear, and the development mode of microservices is standardized, so that the division of labor between packages is clear.
SpringBlade update log:
v3.2.0
1. Upgrade SpringBoot to 2.5.6
2. Upgrade SpringBootAdmin to 2.5.3
3. Upgrade SpringCloud to 2020.0.4
4. Upgrade Nacos to 2.0.3
5. Upgrade Knife4j to 2.0.9
6. Upgrade Mybatis Plus to 3.4.3.4
7. Add annotation configuration data permission feature
8. New Web online configuration data permission feature
9. Add user-defined Sql configuration data permission attribute
10. Add lazy loading table tree feature
11. Add Department Management Ancestor Node Field
12. New CacheUtil tool class
13. Optimize the new logic of department management
14. Optimize tenant interceptor initialization logic
15. Optimize and adapt to API changes of new versions