zuihou-admin-cloud upgrade, independent micro-service SaaS platform Schema

# Update log:

1, improve the user center (Modify avatar, login time, account information, change passwords, etc.) related to docking interface

2, complete user management interface to modify user information

3, repair jobs service start error

4, logback unified logging configuration service jobs

5, document & script perfect start

6, file repair service returns the wrong path in the window system bug

7, started teaching video released

 

# 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, the package `hibernate-validator` based on the` zuihou-validator-starter` start 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 you need to back-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 `swagger-bootstrap-ui`, 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, to efficient ** ** ** 0 intrusive and business ** way to solve the problems facing distributed transaction under micro-services scenario.

 

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/111777/zuihou-admin-cloud-updated