Distributed combat large-scale integrated projects (JAVA architecture), high concurrency, distributed, web security, combat cache architecture

Project distributed deployment architecture

webp

Distributed deployment architecture summary


Architecture core middleware Description:

  1. Code redundancy at the front end (thymeleaf, vue.js, app, weixin h5) using the service must go through a gateway, it is easy to achieve a unified authentication, limiting, canary publishing, eliminate previously Gateway: Spring Cloud Gateway and other related issues.

  2. OpenFeign: between the different modules used to implement the service call each other (sevice-to-service call)

  3. Spring Cloud Consul (similar eureka, zookeeper, etc.): Registration Center

  4. Skywalking: Implementation of Distributed Link Tracking

  5. FastDFS: distributed file system for implementing pictures, videos, documents, uploading and downloading.

  6. ElasticJobLite: Scheduling achieve timing

  7. Kubernetes Cluster: The deployment vessel now
    8.RabbitMQ clusters: implementation of distributed message center for business Liberation coupling, asynchronous and so on.

  8. ELK, Sentry: log platform

  9. Maven Nexus: maven PW for Java member, NPM package, .net nuget package management.

A hierarchy of items

webp

Project layered v2.png


The basic principle

  1. Front-end will be used Vue.js, Thymeleaf

  2. Vue.js completely separated front and rear ends

Project details stratified

  1. External Interface Layer: comprising dto, enums, @FeignClient, called by other modules for

  2. Application Layer monomer: dto comprises internal use, do (usually also called Entity, or called Model), DAO, bizinteract, ServiceImpl, publicServiceImpl
    2.1 DTO information used to define the distal end, the principle is to expose little information, reducing the front end logic and back-end interaction. Note: use the entire field enumeration is defined in the external interface layer
    2.2 do: define the target areas, and must not stick to one correspondence table structure.
    2.3 dao & bizinteract: in fact, these two may be combined into a layer, for accessing a database, cache Redis, ES index, mq queue, and even a file system, etc., need to define and implement interfaces, code maintenance and ease of unit test. Note: mybatis this case DB access only interface.
    2.4: mapper: mybatis access xml mapper DB needed.



Guess you like

Origin blog.51cto.com/14462305/2422426