Learn Microservices with Spring Boot (2nd edition)

Learn Microservices with Spring Boot (2nd edition)

On 2017, I wrote the book Learn Microservices with Spring Boot. Initially, this project started in self-publishing mode but then Apress contacted me and I was glad to work with them to make it a better version.

I got a lot of feedback since then, and some of the technologies changed a bit. Besides, I learned new topics and also came up with better ways for structuring the contents.

So I’m now working on a Second Edition of this book with some interesting new additions:

  • Spring Boot 2.3 (or higher, if available before publication).
  • More in-detail explanation about how Spring Boot works.
  • Smoother learning curve.
  • Microservices cloud patterns updated to use the new standards.
  • The small UI app is now developed using React instead of plain JavaScript.
  • … and more!

Check the complete Table of Contents at the bottom of this page.

The book source code repositories are available online. Check them on Github. Note that it's work in progress and there are more repos to be added soon.

Get a discount

Enter your name and email address and get a discount coupon when the book gets published. You’ll also receive the latest fragments as I’m publishing them as blog posts.

Note: I will NOT share your data or use it with another purpose different than book updates.

* indicates required

Table of Contents

Here I keep the most updated version of the Table of Contents. Note that I’m still in the process of writing the book so this list might evolve.

  1. Introduction
    1. work in progress
  2. Core concepts
    1. Intro
    2. Spring Boot
    3. Lombok and Java
    4. Testing basics: JUnit, Mockito, AssertJ
    5. Testing with Spring Boot
    6. Logging
    7. Summary
  3. A basic Spring Boot app
    1. Intro
    2. Business Requirements
    3. Setting up the development environment
    4. The Skeleton Web App
    5. Spring Boot Auto-Configuration (check the blog post)
    6. Three-tier, Three-layer architectures
    7. Modeling the domain
    8. Implementing the business logic
    9. The Presentation Layer
    10. Summary
  4. A minimal frontend with React
    1. Quick intro to React and Node
    2. Setting up the development environment
    3. The React app skeleton
    4. A JavaScript REST Client
    5. The Challenge Component
    6. Running our frontend for the first time
    7. Debugging
    8. Adding CORS configuration
    9. Playing with the app
    10. Deploying the frontend
    11. Summary
  5. The data layer
    1. Intro
    2. The Data Model
    3. Choosing a database
    4. Spring Boot Data JPA
    5. Entities
    6. Repositories
    7. Storing users and attempts
    8. New APIs and UI
    9. Playing with the new feature
    10. Summary
  6. Starting with Microservices
    1. Intro: what happened until now
    2. The Small Monolith approach
    3. New requirements and Gamification
    4. When should we move to microservices?
    5. Why microservices?
    6. Architecture Overview
    7. Designing and implementing the new microservice
    8. Playing with the system
    9. Fault Tolerance
    10. The challenges ahead
    11. Summary
  7. Event-Driven Architecture
    1. Core Concepts
    2. Pros and Cons of Event-Driven
    3. Messaging Patterns
    4. Message Broker Protocols, Standards and Tools
    5. AMQP and RabbitMQ
    6. Setting up RabbitMQ
    7. Spring AMQP and Spring Boot
    8. Solution Design
    9. Analysis: happy flow, resilience, and scalability.
    10. Summary
  8. Cloud native patterns
    1. work in progress
  9. End-to-End tests with Cucumber
    1. work in progress