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
Moisés Macero García has been a software developer since he was a kid, when he started playing around with BASIC on his ZX Spectrum. During his career, Moisés has most often worked in development and architecture for small and large projects, and for his own startups too. He enjoys making software problems simple, and he likes working in teams where he can not only coach others but also learn from them.
Moisés is the author of the blog thepracticaldeveloper.com, where he shares solutions for technical challenges, guides, and his view on ways of working in IT companies. He also organizes workshops for companies that need a practical approach to software engineering. In his free time, he enjoys traveling and hiking. You can follow Moisés or contact him on his twitter account @moises_macero.
I have read this book in one go and I am amazed by the content. In under 450 pages the author explains many different architectural patterns, frameworks and programming best practices. He achieved this by finding a good balance in the level of depth per topic. It is in-depth enough to learn more than you will from online tutorials, but it is not going down the whole rabbit hole. One example is how Moises explains how Spring works under the hood regarding Tomcat's and Jackson's autoconfiguration. This knowledge is something you will not know when you let Spring just do it's magic, but it will bite you when it does not work. The book is filled with a lot of links to read topics up in even more detail. This, in combination with the easy-to-read text and many extra resources, makes the book very helpful for beginning and experienced programmers - definitely a big recommendation!
This book teaches you about everything it promises on it's title. The explanations are very clear. For example it shows you how a problem can be solved a certain way (a way that you were probably thinking about) but then it tells you the problems that you will run into if you stick with that solution. Then it introduces a new one making it clear why the original solution was wrong. Great book Moises!
A comprehesive guide to microservices. It guides you along a project, adding new features on each chapter and introducing new microservices concepts. It also provides you with the scenarios where microservices fit better, and where it does not work. BTW, there is a chapter on docker and containerization. Awesome book.
This book vision is good but the Multiplication application is explained very clearly and BDD and testing explanation can be improved . Can be made more engaging .