microservices-building-scalable-software.pdf

(22932 KB) Pobierz
Microservices: Building Scalable Software
Table of Contents
Microservices: Building Scalable Software
Microservices: Building Scalable Software
Credits
Preface
What this learning path covers
What you need for this learning path
Who this learning path is for
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Module 1
1. A Solution Approach
Evolution of µServices
Monolithic architecture overview
Limitation of monolithic architecture versus its solution with µServices
One dimension scalability
Release rollback in case of failure
Problems in adopting new technologies
Alignment with Agile practices
Ease of development – could be done better
Microservices build pipeline
Deployment using a container such as Docker
Containers
Docker
Docker's architecture
Docker image
Docker container
Deployment
Summary
2. Setting Up the Development Environment
Spring Boot configuration
Spring Boot overview
Adding Spring Boot to the rest sample
Adding a Jetty-embedded server
Sample REST program
Writing the REST controller class
@RestController
@RequestMapping
@RequestParam
@PathVariable
Making a sample REST app executable
Setting up the application build
Running the Maven tool
Executing with the Java command
REST API testing using the Postman Chrome extension
Some more positive test scenarios
Negative test scenarios
NetBeans IDE installation and setup
References
Summary
3. Domain-Driven Design
Domain-driven design fundamentals
Building blocks
Ubiquitous language
Multilayered architecture
Presentation layer
Application layer
Domain layer
Infrastructure layer
Artifacts of domain-driven design
Entities
Value objects
Frequently asked questions
Services
Aggregates
Repository
Factory
Modules
Strategic design and principles
Bounded context
Continuous integration
Context map
Shared kernel
Customer-supplier
Conformist
Anticorruption layer
Separate ways
Open host service
Distillation
Sample domain service
Entity implementation
Repository implementation
Service implementation
Summary
4. Implementing a Microservice
OTRS overview
Developing and implementing µServices
Restaurant µService
Controller class
API versioning
Service classes
Repository classes
Entity classes
Booking and user services
Registration and Discovery service (Eureka service)
Execution
Testing
References
Summary
5. Deployment and Testing
An overview of microservice architecture using Netflix OSS
Load balancing
Client-side load balancing
Server-side load balancing
Circuit breaker and monitoring
Using Hystrix's fallback methods
Monitoring
Setting up the Hystrix Dashboard
Setting up Turbine
Microservice deployment using containers
Installation and configuration
Docker Machine with 4 GB
Building Docker images with Maven
Running Docker using Maven
Integration testing with Docker
Pushing the image to a registry
Managing Docker containers
References
Summary
6. Securing Microservices
Enabling Secure Socket Layer
Authentication and authorization
Zgłoś jeśli naruszono regulamin