zuihou-admin-cloud 1.2 release, independent micro Schema multi-tenant service scaffolding

Update log:

1, to improve the system the API & application module table structure, front and rear ends docking
2, the operation log module records describing a more humane
3, the optimization terminal program bug front & fixes, the code function is not perfect, naming is not standardized, a plurality of
four, message center Interface perfect & the front and rear ends of the docking
5, delete the attachment statistical correlation useless interfaces
6, upgrade seata-all related to version 1.0.0, perfect demo & test service support for seata-server's (of SaaS solutions in this project used, there are still some problems)
7, upgrade SpringCloud version Hoxton.SR1
8, SpringBoot upgraded version 2.2.2.RELEASE
9, mybatis-plus upgrade to version 3.3.0 (found after the upgrade bug official paging query, but also roll back to 3.2.0)
10 upgrade Alibaba Cloud version 2.1.1.RELEASE
11, Alibaba Cloud upgraded version after 2.1.1.RELEASE, zuihou-j2cache-starter existence can not read nacos configured bug, has repaired
12, knife4j upgrade version 2.0. 1   
13 upgrade hutool version 5.1.0
14, most rely jar upgrade to the latest stable release of version

 Function Point presentation:

Registration and service call:

Service registration and call Eureka implemented based on using Feign in Spring Cloud, we can do it using an HTTP request remote services can call the local method and the same coding experience, developers fully perceive this is not a remote method, more aware this is not a HTTP request.

 Authentication Service:

Permission to schedule the service to enhance the way by JWT verification, to ensure internal security services.

Load Balancing:

The service keeps the rest proxy and gateway control, in addition to the usual frequently used node.js, nginx, Spring Cloud series zuul and rebbion, can help us carry out normal gateway control and load balancing. Which extend and learn from foreign expansion project based on JWT's Zuul limit to limit the current flow plug-respect.

 Fuse mechanism:

Since taking the distribution of services, in order to avoid service calls between the "avalanche", we adopted Hystrix as fuses, to avoid the "avalanche" between services.

monitor:

Use Spring Boot Admin to monitor the operating status of each individual Service; using the turbine to view state and calling frequency interface in real time; to see the call chain between the various services through Zipkin and so on.

data permission:

Based Mybatis DataScopeInterceptor use of interceptors to achieve a simple data permissions

No sense of SaaS solutions:

Use Mybatis interceptors to achieve the interception of all SQL, modify the default Schema, in order to achieve the purpose of multi-tenant data isolation.

Secondary cache:

Using J2Cache cache operation, using a first level cache memory (the Caffeine), second-level cache use Redis. Because a large number of L2 cache reads may result in the bottleneck of the network system, the target is to reduce the number of reads L1 to L2. The frame buffer is mainly used in a clustered environment. It can also be used stand-alone, to avoid the impact of the back-end business application cache after the restart due to a cold start.

Elegant Bean conversion:

Dozer assembly employed to optimize the conversion of the DTO, DO, PO object, etc.

Front and rear end unified form validation:

Strict form validation usually takes the front + back-end and to verify, but the traditional project are only done once before and after the end of each test, the late rule change, they have to end at the same time before and after the modification. Therefore, on the basis of the package on the hibernate-validator zuihou-validator-starter starting-dependent, provides a common interface, access rules can be verified form, then the front end of the rear end of the returned usage rule, if after the rule change, only the rear end modifications.

Anti-cross-site scripting attacks (XSS):

The current user information Injector:

Online API:

Since the primary function of certain swagger-ui support friendly enough, so the use of domestic open-source knife4j, and produced a stater, convenient springboot users.

Code generator:

Mybatis-plus-generator based on the custom code generator set, by configuring the annotation database fields, generated automatically enumerated classes, dictionary data annotation, SaveDTO, UpdateDTO, validation rules form annotations, annotation Swagger like.

Timing task scheduler:

Enhancements were based xxl-jobs. (Example: send task specified time, and a scheduler performing combined projects, multiple data sources)

Speaking Eureka registry page:

Please switch branches View

Large file / break / slice Resume:

Front-end webupload.js, the back-end uses NIO to achieve a break after large files fragmented resume, start Eureka, Zuul, File Services, directly open docs / chunkUploadDemo / demo.html can be tested. After testing, the local limit maximum stack memory 128M start File Services, within five minutes can be successfully uploaded 4.6G + large files, the official service will be affected user consuming bandwidth and server bandwidth, long time.

Distributed Transaction:

Ali integrated distributed transaction middleware: seata, with high efficiency and business 0 intrusive  way to solve the problems facing distributed transaction scenario of micro-services.

Item code address

Micro-service back-end code:

[gitee] https://gitee.com/zuihou111/zuihou-admin-cloud /[github] https://github.com/zuihou/zuihou-admin-cloud

Tenant system code:

[gitee] https://gitee.com/zuihou111/zuihou-ui / [github] https://github.com/zuihou/zuihou-ui

Development & Operations Management System Code:

[gitee] https://gitee.com/zuihou111/zuihou-admin-ui / [github] https://github.com/zuihou/zuihou-admin-ui

[Code Generator] https://github.com/zuihou/zuihou-generator

Demo (demo account does not have write permissions can only query)

[Tenant system demo environment] http://tangyh.top:10000/zuihou-ui/

Platform administrator account / password: zuihou / zuihou

Ordinary user account / password: test / zuiou

[Development & Operations Platform demo environment] http://tangyh.top:180/zuihou-admin-ui/

ID / Password: demoAdmin / zuihou

Guess you like

Origin www.oschina.net/news/112520/zuihou-admin-cloud-1-2-released