Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Microservices with Spring Boot, Spring Cloud, Docker & Kafka
Role Play
Rating: 4.6 out of 5(3,816 ratings)
27,434 students

Microservices with Spring Boot, Spring Cloud, Docker & Kafka

Build Real-World Microservices with Java, Spring Boot, Spring Cloud, Docker, Kafka, RabbitMQ, React, REST APIs, IntelliJ
Last updated 9/2026
English
German [Auto],English [Auto],

What you'll learn

  • Build complete real-world microservices using Spring Boot and Spring Cloud.
  • Dockerize Spring Boot microservices and run the complete system with Docker Compose.
  • Build event-driven microservices using Apache Kafka.
  • Build event-driven microservices using RabbitMQ
  • Implement Service Registry and Discovery using Netflix Eureka.
  • Build an API Gateway using Spring Cloud Gateway.
  • Manage centralized configuration with Spring Cloud Config Server.
  • Implement Circuit Breaker, Retry, and RateLimiter with Resilience4J.
  • Communicate between microservices using RestTemplate, WebClient, and OpenFeign.
  • Add client-side load balancing with Spring Cloud LoadBalancer.
  • Integrate React with Spring Boot microservices.
  • Build REST APIs using Spring Boot.
  • Create CRUD applications with Spring Data JPA and MySQL.
  • Use DTOs, validation, mapping, and exception handling.
  • Document and test REST APIs using Swagger / OpenAPI.
  • How to Add Step by Step New Microservice to Existing Project
  • Dockering Spring Boot Application Step by Step
  • Dockering Spring Boot MySQL CRUD Application Step by Step
  • Migrate Existing Microservices Project into Latest Version
  • Build real-world Spring Boot REST API projects.
  • Understand Microservices Architecture and core distributed-system concepts.
  • Understand REST API fundamentals and best practices.

Course content

52 sections • 424 lectures • 46h 20m total length
  • Course Introduction4:04

    Discover how to build microservices with Spring Boot and Spring Cloud, create REST APIs, manage config, enable service discovery and tracing, and integrate React frontend with Kafka and RabbitMQ messaging.

  • New Update: Dockerize the Complete Microservices Project0:53

    Dockerize the complete microservices project by containerizing microservices, supporting services, and databases, then run the system with Docker Compose as a containerized application.

  • Why Netflix Migrated to Microservices3:22

    Netflix migrated from a monolith to microservices to handle internet-scale traffic, enabling independent services, faster deployments, and resilience with Chaos Monkey.

  • Download Lecture Notes in PDF0:14

Requirements

  • Basic knowledge of Java programming.
  • Familiar with IntelliJ IDEA
  • Basic understanding of Spring Boot is helpful but not mandatory.
  • No Microservices experience needed. You will learn everything you need to know about Microservices
  • No Docker experience needed. You will learn Docker essentials for deployment
  • No RabbitMQ and Kafka experience needed. You will learn RabbitMQ and Kafka essentials for building event-driven microservices
  • Willingness to follow hands-on coding examples and build projects step by step.

Description

Disclaimer:

"This course requires you to download Docker Desktop from the official Docker website. If you are a Udemy Business user, please check with your employer before downloading software."


Build real-world Microservices from scratch with Spring Boot, Spring Cloud, Kafka, RabbitMQ, React, Docker, and Docker Compose in one complete hands-on course.

You will not just learn microservices concepts—you will build multiple services, connect them, add service discovery, API Gateway, centralized configuration, resilience, tracing, messaging, and frontend integration.

You will also Dockerize the complete microservices project and run the full distributed system using Docker Compose, giving you practical experience with how modern Java microservices applications are developed and containerized.

If you want to move from basic Spring Boot development to building complete, production-style microservices systems, this course gives you the step-by-step practical path to do it.


You will start with REST API fundamentals, build production-style Spring Boot applications, move into Microservices Architecture and Spring Cloud, implement inter-service communication, service discovery, API Gateway, centralized configuration, resilience patterns, distributed tracing, event-driven communication, frontend integration, and finally Dockerize the complete microservices project using Docker Compose.

The course follows a practical, project-based approach. Instead of learning concepts in isolation, you will build applications step by step and see how each technology fits into a complete system.


What You Will Learn

REST API Fundamentals

  • Understand REST architecture and REST principles

  • Learn resources, URIs, HTTP methods, and HTTP status codes

  • Design clean REST API endpoints

  • Understand GET vs POST, POST vs PUT, PUT vs PATCH

  • Learn REST vs SOAP and REST vs GraphQL

  • Follow REST API design best practices

Build REST APIs with Spring Boot

  • Build REST APIs using Spring Boot and Spring MVC

  • Use @RestController, @GetMapping, @PostMapping, @PutMapping, and @DeleteMapping

  • Work with @PathVariable, @RequestParam, and @RequestBody

  • Return Java objects and lists as JSON

  • Work with ResponseEntity

  • Test REST APIs using Postman

Spring Boot CRUD Applications

  • Build complete CRUD REST APIs

  • Use Spring Data JPA and Hibernate

  • Connect Spring Boot applications with MySQL

  • Follow Controller, Service, Repository, Entity, and DTO architecture

  • Implement Create, Read, Update, and Delete operations

DTOs, Validation, Mapping & Exception Handling

  • Use DTOs in real-world Spring Boot applications

  • Convert between entities and DTOs

  • Create custom mapper classes

  • Work with ModelMapper and MapStruct

  • Add request validation

  • Implement global exception handling

  • Build meaningful REST API error responses

  • Use Spring Boot Actuator

Real-World Spring Boot Projects

  • Build Employee Management REST APIs

  • Build Banking REST APIs

  • Work with One-to-Many relationships

  • Build Spring Boot and MySQL applications

  • Build full-stack applications using Spring Boot and React

Microservices Architecture

  • Understand Monolithic vs Microservices Architecture

  • Learn how independent microservices work together

  • Build multiple Spring Boot microservices

  • Design service-to-service communication

  • Add new services to an existing microservices architecture

Microservices Communication

  • Communicate between microservices using RestTemplate

  • Use WebClient for service communication

  • Use Spring Cloud OpenFeign

  • Call microservices using service names

  • Understand synchronous communication between services

Service Registry & Discovery

  • Build a Netflix Eureka Server

  • Register microservices with Eureka

  • Discover services dynamically

  • Use the Eureka dashboard

  • Remove hard-coded service URLs

Load Balancing

  • Implement client-side load balancing

  • Use Spring Cloud LoadBalancer

  • Run multiple instances of a microservice

  • Distribute requests across service instances

API Gateway

  • Build an API Gateway using Spring Cloud Gateway

  • Create a single entry point for microservices

  • Configure routing between services

  • Access backend services through the gateway

Centralized Configuration

  • Build a Spring Cloud Config Server

  • Manage microservice configuration centrally

  • Externalize application configuration

  • Use Spring Cloud Bus to refresh configuration changes

Resilient Microservices

  • Implement Circuit Breaker using Resilience4J

  • Implement Retry

  • Implement RateLimiter

  • Handle service failures gracefully

  • Improve fault tolerance in distributed systems

Docker + Spring Boot

  • Understand Docker fundamentals

  • Dockerize Spring Boot applications

  • Build Docker images

  • Run Spring Boot applications in containers

  • Dockerize Spring Boot applications with MySQL

  • Understand Docker networking and containers

  • Run multiple containers together

  • Configure Spring Boot and MySQL with Docker Compose

Dockerize Complete Spring Boot Microservices Project

  • Dockerize the complete microservices project

  • Use real-world approach to dockerize Spring Boot microservices

  • Run multiple microservices and supporting infrastructure using Docker Compose

  • Start the complete distributed system with a single Docker Compose setup

Apache Kafka with Spring Boot

  • Understand Kafka fundamentals

  • Build Kafka producers and consumers

  • Integrate Kafka with Spring Boot

  • Build a real-world Wikimedia Kafka project

  • Create event-driven microservices using Kafka

RabbitMQ with Spring Boot

  • Understand RabbitMQ messaging

  • Build RabbitMQ producers and consumers

  • Integrate RabbitMQ with Spring Boot

  • Build event-driven microservices using RabbitMQ

  • Implement asynchronous communication

React + Spring Boot

  • Connect React applications with Spring Boot APIs

  • Consume backend REST APIs from React

  • Build complete full-stack applications


Technologies Used in This Course

You will work with a complete modern Java microservices technology stack, including:

  • Java

  • Spring Boot

  • Spring Framework

  • Spring Cloud

  • Spring MVC

  • Spring Data JPA

  • Hibernate

  • Spring Cloud OpenFeign

  • Netflix Eureka

  • Spring Cloud Gateway

  • Spring Cloud Config Server

  • Spring Cloud Bus

  • Spring Cloud LoadBalancer

  • Resilience4J

  • Apache Kafka

  • RabbitMQ

  • React

  • MySQL

  • Swagger / OpenAPI

  • Spring Boot Actuator

  • ModelMapper

  • MapStruct

  • Maven

  • Lombok

  • Postman

  • Docker

  • Docker Compose

  • IntelliJ IDEA

By the end of this course, you will understand not only how to build individual Spring Boot services, but how to connect them into a complete Microservices Architecture, add messaging and resilience, integrate a frontend, and run the entire system in containers using Docker and Docker Compose.

This course is ideal for Java Developers, Spring Boot Developers, Backend Developers, Full-Stack Developers, and anyone who wants hands-on experience building real-world microservices applications using the modern Java and Spring ecosystem.

Who this course is for:

  • Java, Spring Boot, backend, and full-stack developers who want to build, connect, secure, scale, and Dockerize real-world Microservices using Spring Cloud, Kafka, RabbitMQ, React, and Docker Compose.