Spring Cloud is the latest microservice framework produced by Alibaba. Spring Cloud provides some tools to quickly build some common patterns of distributed systems (such as configuration management, service discovery, circuit breakers, routing, micro-agents, control buses, tokens, global locks) , Distributed sessions, cluster state), using Spring Cloud developers can quickly stand out for services and applications that implement these modes.
Starting from the three aspects of architecture design, application development, and operation and maintenance deployment, the notes provide a comprehensive explanation and in-depth practice on the implementation of microservice architecture design, and explain the specific use of Spring Cloud, Docker, and Jenkins tools in combination with actual production. method. In this article, a high-concurrency microservice architecture design is realized through an example of an Internet e-commerce platform, and through a detailed development and implementation process, it demonstrates the method of building a safe, reliable, stable, efficient and sustainable expansion system platform.
Let's study this note together. Due to the limited space of the article, there is no way to show all the content for everyone. In order not to affect everyone's reading experience, I put the free method at the end of the article, welcome to pick it up!
1 Microservice architecture and Spring Cloud
The origin of the concept of microservices
Definition of microservices
The difference between microservice architecture and monolithic architecture
Comparison of microservice architecture and SOA
Why use microservice architecture
Prepare for the implementation of microservice architecture
Why use Spring Cloud
Introduction to Spring Cloud Components
Spring Cloud release notes
2 The best design of microservice architecture
Reasonably divide microservices
Microservice governance
Rest API microservice design
- Use database set
- Read and write separation design
- Use cache
- Ensure the independence of RestAPI microservices
Web UI microservice design
- Use FeignClient to implement load balancing calls
- Use Hystrix to implement fault-tolerant design
- Use non-blocking asynchronous programming technology to achieve high concurrent calls
- Use a distributed file system
Design of calling rules between microservices
Data final consistency design
Distributed cluster architecture design
Security Design of Microservice Operating Environment
3 Design examples of e-commerce platform microservices
Overall design of e-commerce platform
- Overall business process design
- Overall business function design
E-commerce platform business model design
- Mobile mall business model
- Merchant management back-end business model
- Platform management background business model
Create Rest API microservice
Create WebUl microservice
- Mobile mall WebUI microservice
- WebUI microservices in the business management background
- Platform management background WebUI microservice
Microservice architecture of e-commerce platform
4 Development tool selection and Spring Boot foundation
Development tool selection
Development environment configuration
Create Spring Boot project
Use JPA
- Data source configuration
- JPA configuration
- Data entity design
- Repository interface design
- unit test
Use Thymeleaf
- Controller design
- View design
Operation and deployment
5 E-commerce platform microservice engineering design
Microservice engineering structure
E-commerce platform microservice project establishment
Database selection
Microservice project creation steps
Basic project configuration
Create module
6 Microservice governance basic service development
Registration Management Center
- Create a registry management center
- Run Registry Management Center
- How to use registry management center for microservices
- Build a highly available registry management center
Configuration Management Center
- Create Configuration Management Center
- How to use configuration management center for microservices
- Update configuration information online
Microservice Monitoring Center
- Use the circuit breaker dashboard to monitor
- Aggregate Service Monitoring Management Center
Service Tracking Analysis Center
- Create service tracking analysis center
- Enable service tracking in microservices
Log analysis platform
- Create a log analysis platform
- Use log analysis platform
7 Rest API microservice development
Domain business development
- Use Druid data source
- JPA and its configuration
- Data entity modeling
- Query object design
- Entity persistence design
- Persistence test
- Domain Service Development
- Unit testing of domain services
- Use Redis to implement cache design
Rest API application development
- Rest API application configuration
- Startup programming
- Interface development
Use messages to handle events
- Message producer design
- Message consumer design
- Use message test
8 Web UI microservice development
Hierarchical design of high concurrent interface calls
Call Rest API through FeignClient
Use Hystrix circuit breaker
Use non-blocking asynchronous programming methods
- CompletableFuture introduction
- Performance comparison test
Web application development
- Project reference configuration
- Application configuration
- Business function development
Hot deployment settings for development environment
Use a distributed file system
- Distributed file system client development
- Commodity picture upload design
- Rich text editor upload file design
- Build a local file information database
9 E-commerce platform mobile mall development
Mobile Mall Homepage Design
Navigation design using load balancing
Query design by category
Product details page design
Purchase order realization
User login and account switching design
- User login design
- Switch account design
Order query design
Integration Testing
10Merchant Management Backstage and SSO Design
Design and development of merchant authority management system
- Merchant authority system modeling
- Persistent design of merchant authority system
- Domain service development of merchant authority system
Merchant management microservice development
- Service layer unit testing in the merchant domain
- Merchant service interface development
SSO design
- SSO basic configuration
- Use the merchant's authority system in SsO
- User login design
- Description of verification code
- SSO homepage design
- OAuth2 server design
SSO client design
- Client project management configuration
- Client security management configuration
- Implementation principle of authorization verification
- How to access SSO in the application
- Related settings for cross-site request forgery defense
- Automatically assign menus based on user permissions
11 platform management background development
Platform management background field design
- Domain entity modeling
- Physical behavior design
- Domain Service Development
- Domain Service Unit Testing
Platform management background access control design
- User system managed by the platform
- Rights management design
Business registration design
Merchant menu system management development
- Category menu management development
- Module menu management development
- Access resource management development
Merchant role management development
12 server architecture design and Docker use
Server build
Secure server architecture design
- Firewall installation and configuration
- Establish a secure LAN environment
Server resource allocation
CentOS installation
- IP address settings
- Security Settings
- Language configuration
- Time synchronization configuration
Docker and docker-compose installation
- Docker installation and use
- docker-compose installation and use
Use Docker to build a microservice governance environment
- Server 1 deployment configuration
- Server 2 deployment configuration
Use Docker to deploy a log analysis platform
Use Docker to deploy microservice applications
13 Database cluster design and high-availability read-write separation implementation
MySQL installation
Master-slave synchronization settings
Master master sync settings
Database agent middleware selection
Use OneProxy to achieve read-write separation design
- OneProxy installation
- High-availability read-write separation configuration
OneProxy sub-database partition design
- Sub-database and table by range
- Sub-database and table by value
- Hash algorithm sub-database sub-table
Dual machine hot standby design
14 Installation and configuration of infrastructure such as distributed file system
High-availability distributed file system construction
- FastDFS installation
- Track server configuration.
- Storage node configuration
- Upload file test
- Nginx installation and load balancing configuration
- Boot settings
GitLab installation
Redis installation
RabbitMQ installation
15 Use Jenkins, an automated build tool, to implement CI/CD
Continuous delivery workflow
Jenkins installation
Jenkins basic configuration
Jenkins automatic deployment example
- Create task
- Task configuration
- Perform task
Friends who need to get this SpringCloud and Docker study notes for free can get it for free by adding the assistant VX below