Build Java-based microservices architecture using the Spring Boot framework by evolving an application from a small monolith to an event-driven architecture composed of several services. This revised book follows an incremental approach in teaching the structure of microservices, test-driven development, and common patterns in distributed systems such as service discovery, load balancing, routing, centralized logs, per-environment configuration, and containerization.
This updated book now covers what's been added to the latest Spring Boot release, including support for the latest Java SE; more deep-dive knowledge on how Spring Boot works; testing with JUnit 5; changes in the Spring Cloud tools used for service discovery and load balancing; building Docker images using cloud-native buildpacks; a basic centralized logging solution; E2E traceability with Sleuth; centralized configuration with Consul; many dependency upgrades; support for Spring Data Neumann; and more.
Author Moises Macero uses a pragmatic approach to explain the benefits of using this type of software architecture, instead of keeping you distracted with theoretical concepts. He covers some of the state-of-the-art techniques in computer programming, from a practical point of view. You’ll focus on what's important, starting with the minimum viable product but keeping the flexibility to evolve it.
What You Will Learn
- Build microservices with Spring Boot
- Discover architecture patterns for distributed systems such as asynchronous processing, eventual consistency, resilience, scalability, and more
- Use event-driven architecture and messaging with RabbitMQ
- Master service discovery with Consul and load balancing with Spring Cloud Load Balancer
- Route requests with Spring Cloud Gateway
- Keep flexible configurations per environment with Spring Cloud Consul
- Trace every request from beginning to end with Sleuth and centralized logging
- Deploy your microservices anywhere as Docker containers
- Start all the components in the microservice architecture with Docker Compose
Who This Book Is For
Those with at least some prior experience with Java programming. Some prior exposure to Spring Boot recommended but not required.