This book will show you how to build Java-based microservices architecture using the popular Spring Boot framework by evolving a small monolith application to an event-driven architecture composed of several services. This third edition has been updated to cover Spring Boot 3, including its compatibility with Java 17 and Jakarta EE 10, and employs an incremental approach to teach 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.
Authors Moisés Macero and Tarun Telang get the ball rolling by introducing you to the fundamentals of microservices and Spring Boot before walking you through the development of a basic Spring Boot application. You'll then see how to build a front end using React, and learn how to use the data layer to read and write data from and to other systems via Spring Boot and its access to Spring Data and its available APIs. Putting together what you've learned thus far, you'll begin to transform an application from a monolith to a microservice.
This pragmatic approach will enable you to better grasp the benefits of using this type of software architecture, instead of keeping you distracted with theoretical concepts. The emphasis is on what matters most, starting with the minimum viable product, while maintaining the ability to adapt and improve your application as needed. After completing this book, you will have the foundational knowledge necessary to build your own microservice-based applications using Spring Boot.
What You Will Learn
- Gain a thorough understanding of microservices architecture and how it differs from monolithic architectures.
- Discover the step-by-step process of breaking down a monolithic application into smaller, focused services
- Build microservices with Spring Boot 3, Spring Data, Spring Cloud, React.js, Docker, Cucumber, and more
- Develop Java-based microservices using the latest version of Spring Boot, compatible with Java 17 and Jakarta EE 10.
- Discover architecture patterns for distributed systems such as asynchronous processing, eventual consistency, resilience, scalability, and more
- Gain insight into event-driven communication patterns and understand how to design and build event-driven microservices
- Trace every request from beginning to end with Sleuth and centralized logging
- Deploy your microservices anywhere as Docker containers
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.