培訓天數:
3天,21小時(每日含午休1小時)
Day 1
Chapter 1. Microservices
Overview of Microservices
SOA
ESB
Traditional Monolithic
Disadvantages of Monoliths
Moving from a Legacy Monolith
When Moving from a Legacy Monolith
The Driving Forces Behind Microservices
How Can Microservices Help You?
The Microservices Architecture
Microservices Inter-connectivity
The Data Exchange Interoperability Consideration
Managing Microservices
Implementing Microservices
Summary
Chapter 2. Spring REST Services
Many Flavors of Services
Understanding REST
RESTful Services
REST Resource Examples
REST vs SOAP
REST Services With Spring MVC
Spring MVC @RequestMapping with REST
Working With the Request Body and Response Body
@RestController Annotation
Java Clients Using RestTemplate
RestTemplate Methods
Summary
Exercise 1. Create a RESTful API with Spring Boot
Chapter 3. Spring Cloud Config
The Spring Cloud Configuration Server
Why Configuration Management is Important
Configuration Management Challenges in Microservices
Separation of Configuration from Code
Configuration Service
How the Configuration Service Works
Cloud Config Server Properties File
Git Integration
Properties
Configuration Client
Sample Client Config File
Sample Client Application
Dynamic Property Updates – Server
Dynamic Property Update – Client
Dynamic Property Update – Execute
Summary
Exercise 2. Config Service
Chapter 4. Spring Security
Securing Web Applications with Spring Security 3.0
Spring Security 3.0
Authentication and Authorization
Programmatic v Declarative Security
Getting Spring Security from Maven
Spring Security Configuration
Spring Security Configuration Example
Authentication Manager
Using Database User Authentication
LDAP Authentication
Summary
Exercise 3. Enable Basic Security
Day 2
Chapter 5. Service Discovery with Netflix Eureka
Service Discovery in Microservices
Load Balancing in Microservices
Netflix Eureka
Eureka Architecture
Communications in Eureka
Time Lag
Eureka Deployment
Peer Communication Failure between Servers
Eureka Server Configuration
Eureka Client/Service
Eureka Client Properties
Spring Cloud DiscoveryClient Interface
ServiceInstance JSON
ServiceInstance Interface
Summary
Exercise 4. Use Netflix Eureka for Service Discovery
Chapter 6. Load-Balancing with Netflix Ribbon
Load Balancing in Microservices
Netflix Ribbon
Server-side load balance
Client-side Load Balance
Architecture
Load Balance Rules
RoundRobinRule
AvailabilityFilteringRule
WeightedResponseTimeRule
RandomRule
ZoneAvoidanceRule
IPing Interface (Failover)
Using Ribbon
YAML Configuration
Configuration Class
Client Class
Client Class Implementation
Integration with Eureka (Service Discovery)
Summary
Exercise 5. Use Netflix Ribbon for Client-Side Load Balancing
Chapter 7. Netflix Hystrix
Retry, Timeout and Fallback Patterns
Netflix Hystrix
Design Principles
Cascading Failures
Bulkhead Pattern
Circuit Breaker Pattern
Thread Pooling
Request Caching
Request Collapsing
Fail-Fast
Fallback
Using Hystrix
Circuit Breaker Configuration
Fallback Configuration
Collapser Configuration
Rest Controller and Handler
How the Collapser Works
Hystrix Monitor
Enable Monitoring
Turbine
The Monitor
Monitor details
Summary
Exercise 6. Use Netflix Hystrix for the Circuit Breaker Pattern
Chapter 8. Spring Cloud Gateway
Blocking vs Non-Blocking Gateway
Spring Cloud Gateway Architecture
Handler Mapping
Web Handler Filters
Global Filter
Post Filters
Summary
Day 3
Chapter 9. Spring Boot Actuator
Enabling Production-ready Features
Endpoints
Monitoring and Management over HTTP
Monitoring and Management over JMX
Loggers
Metrics
Auditing
HTTP Tracing
Process Monitoring
Exercise 7. Writing Custom HealthIndicators
Chapter 10. Distributed Log Tracing using Sleuth and Zipkin
Introduction to Distributed Tracing
Implementing Spring Cloud Sleuth
Introduction to Distributed Tracing with Zipkin
Installing Rabbit MQ
Setting up Distributed Tracing with Zipkin
Connecting microservices to Zipkin
Use spring-cloud-starter-zipkin and spring-rabbit
Using Zipkin UI Dashboard to trace requests
Summary
Exercise 8. Distributed tracing with Zipkin
Chapter 11. Testing and Deploying with Docker
Introduction
Container Technology Overview
Installing Docker
Managing Containers
Managing Images
Creating Images with DOCKERFILE
Docker Volumes
Docker Compose/SWARM
Docker Networking
Docker Logging
Summary and Conclusion
Exercise 9. Running Spring Cloud Microservices in Docker
Chapter 12. Activiti with Spring
Overview
Initial Setup
Creating a ProcessEngine
Process Definition and Related Terms
Services
Working With Activiti Services
Deploying a Process
Starting a ProcessInstance
Completing Tasks
Suspending and Activating a Process
Conclusion