Learn Microservices with Spring Boot: A Practical Approach to RESTful Services Using an Event-Driven Architecture, Cloud-Native Patterns, and Containerization, 2nd Edition

Learn Microservices with Spring Boot: A Practical Approach to RESTful Services Using an Event-Driven Architecture, Cloud-Native Patterns, and Containerization, 2nd Edition

English | 2020 | ISBN: 978-1484261309 | 442 Pages | PDF, EPUB | 22 MB


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