Microservices are an architectural and organisational approach to software development where software is composed of small independent services that communicate over well-defined APIs. These services are owned by small, self-contained teams.
Microservices and Distributed Systems
Microservices and Distributed Systems is a 166-lesson 11 hours 18 minutes self-paced course by Nelson Djalo (Amigoscode). Microservices are an architectural and organisational approach to software development where software is composed of small independent services that communicate over well-defined APIs.
Course facts
- Lessons
- 166
- Duration
- 11 hours 18 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Nelson Djalo (Amigoscode)
- Price
- Premium
Microservices architectures make applications easier to scale and faster to develop, enabling innovation and accelerating time-to-market for new features.
In this course you will learn how to build Microservices from scratch using Spring Cloud which provides tools for developers to quickly build some of the common patterns in distributed systems such configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state
You will also learn about Docker and Kubernetes allowing you to containerise your Microservices and deployment to the most popular open-source container orchestration engine called Kubernetes. Kubernetes offers the ability to schedule and manage containers at scale.
Topics Covered
- Spring Boot Microservices
- Maven (Including Multi Module, Builds and Profiles)
- Spring Data JPA
- Message Queue with RabbitMQ and Kafka
- Spring Cloud (OpenFeign, Service Discovery, Distributed Tracing)
- Configuration and Secrets management
- Packing Jars with Jib
- Docker
- Kubernetes
- Plenty of Exercise
Additional
https://github.com/amigoscode/microservices
Diagram https://raw.githubusercontent.com/amigoscode/microservices/78d93c2caa7274951ff5258e5414a59b870f50a9/diagrams.drawio and save with .drawio file extension then open it with https://www.diagrams.net/
Who teaches Microservices and Distributed Systems? Nelson Djalo (Amigoscode)
Nelson Djalo publishes the Amigoscode YouTube channel and standalone course platform — one of the largest independent Java / Spring Boot tutorial sources online, with several million subscribers and a multi-year track record of weekly back-end engineering tutorials.
The course catalog covers the full Java back-end stack: Java fundamentals, Spring Boot for production web services, Spring Security and OAuth, Spring Data and JPA, microservices patterns with Spring Cloud, Kafka and event-driven architecture, Docker and Kubernetes for the deployment layer, AWS for cloud infrastructure, and the database side (PostgreSQL, MongoDB, Redis). Material is project-oriented — most courses build a working microservice or full application end-to-end.
The CourseFlix listing under this source carries over 13 Amigoscode courses spanning that range. Material is paid; Amigoscode runs on per-course or membership pricing on the original platform. Courses are aimed at Java developers building production back-end services.
What lessons are included in Microservices and Distributed Systems?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | 1 - Few Words Before We Begin Demo | 01:08 | |
| 2 | 2 - Join The Community | 00:52 | |
| 3 | 3 - Course Overview | 03:38 | |
| 4 | 1 - Maven | 02:39 | |
| 5 | 2 - IntelliJ | 02:07 | |
| 6 | 3 - Open The Project with IntelliJ | 01:41 | |
| 7 | 4 - Maven Parent Module | 07:01 | |
| 8 | Intro | 00:42 | |
| 9 | 1 - Spring Cloud | 03:36 | |
| 10 | 2 - Create Your First Microservice | 07:58 | |
| 11 | 3 - Model Controller and Service | 05:32 | |
| 12 | 4 - Postgres and PGAdmin on Docker | 04:30 | |
| 13 | 5 - Connecting to DB | 08:07 | |
| 14 | 6 - Databases | 01:18 | |
| 15 | 1 - Intro | 01:15 | |
| 16 | 2 - Fraud Microservice | 04:46 | |
| 17 | 3 - Database Setup for Fraud | 04:42 | |
| 18 | 4 - Fraud Controller Service and Repository | 07:42 | |
| 19 | 5 - RestTemplate | 05:24 | |
| 20 | 6 - Testing Microservice Communication | 03:10 | |
| 21 | 1 - Service Discovery | 04:09 | |
| 22 | 2 - Spring Cloud Dependency | 03:38 | |
| 23 | 3 - Setting up Eureka Server | 05:37 | |
| 24 | 4 - Dashboard | 01:55 | |
| 25 | 5 - Eureka Clients | 07:40 | |
| 26 | 6 - @LoadBalanced | 06:53 | |
| 27 | 1 - Open Feign | 02:33 | |
| 28 | 2 - Feign client Feign | 06:31 | |
| 29 | 3 - Using Fegin Client | 04:59 | |
| 30 | 4 - Microservice Communication With Feign | 02:57 | |
| 31 | 1 - Exercise | 01:53 | |
| 32 | 2 - Solution | 04:13 | |
| 33 | 1 - Distributed Tracing | 03:42 | |
| 34 | 2 - Adding Sleuth | 03:47 | |
| 35 | 3 - Zipkin | 01:05 | |
| 36 | 4 - Zipkin Container | 02:58 | |
| 37 | 5 - Spring Cloud Sleuth Zipkin | 03:26 | |
| 38 | 6 - Zipkin Dashboard | 06:39 | |
| 39 | 1 - What are Load Balencers | 09:58 | |
| 40 | 2 - Load Balancer Algorithms | 02:54 | |
| 41 | 3 - Load Balancer Health Checks | 02:05 | |
| 42 | 4 - Spring Cloud Gateway | 02:57 | |
| 43 | 5 - Bootstrap API Gateway | 04:14 | |
| 44 | 6 - Configuring API Gateway | 02:45 | |
| 45 | 7 - API Gateway in Action | 03:07 | |
| 46 | 1 - Why a message queue | 03:53 | |
| 47 | 2 - Simulate Slow Response | 04:31 | |
| 48 | 3 - AMQP & RabbitMQ | 06:28 | |
| 49 | 4 - Kafka RabbitMQ and SQS | 04:20 | |
| 50 | 5 - AMQP Exchange Types | 04:56 | |
| 51 | 1 - Rabbit MQ Container | 03:32 | |
| 52 | 2 - AMQPTemplate and JacksonConverter | 06:27 | |
| 53 | 3 - SimpleRabbitListenerContainerFactory | 04:37 | |
| 54 | 4 - Notification Queue Configuration | 04:29 | |
| 55 | 5 - Queue Topic and Binding | 04:01 | |
| 56 | 6 - Message Producer | 03:45 | |
| 57 | 7 - Publishing Messages | 09:17 | |
| 58 | 8 - Customer Microservice Publishing Messages To Queue | 05:50 | |
| 59 | 9 - @RabbitListener | 07:09 | |
| 60 | 12 - We made it. Our code is Asynchronous | 02:16 | |
| 61 | 1 - Intro | 00:54 | |
| 62 | 2 - Maven Compiler Plugin | 07:23 | |
| 63 | 3 - Spring Boot Maven Plugin | 06:20 | |
| 64 | 4 - Installing Root and Individual Modules with Maven | 06:35 | |
| 65 | 5 - Running all Jars | 09:15 | |
| 66 | 1 - Intro | 01:08 | |
| 67 | 2 - What is Docker | 01:32 | |
| 68 | 3 - Docker Images and Containers | 03:18 | |
| 69 | 4 - Docker Architecture | 02:43 | |
| 70 | 5 - Docker Registries | 04:13 | |
| 71 | 6 - Docker Login | 05:49 | |
| 72 | 7 - Spring Boot Maven Plugin and Jib | 02:34 | |
| 73 | 8 - Jib Maven Plugin | 08:39 | |
| 74 | 9 - Jib Sub Module Configuration | 04:38 | |
| 75 | 10 - Build and Push | 05:17 | |
| 76 | 11 - Exercise | 01:43 | |
| 77 | 12 - Exercise Solution | 03:09 | |
| 78 | 13 - Adding Eureka Server and ApiGW to Docker Compose | 02:49 | |
| 79 | 14 - Docker Network | 02:12 | |
| 80 | 15 - Spring Profiles | 03:43 | |
| 81 | 16 - ApiGW and Eureka Server Docker Containers | 03:57 | |
| 82 | 17 - Exercise 2 | 00:34 | |
| 83 | 18 - Exercise 2 Solution | 08:20 | |
| 84 | 1 - Intro | 00:50 | |
| 85 | 2 - What is Kubernetes | 04:17 | |
| 86 | 3 - Master and Control Plane | 08:30 | |
| 87 | 4 - Worker Nodes | 06:22 | |
| 88 | 5 - Running Kubernetes Clusters | 04:45 | |
| 89 | 6 - Minikube | 06:41 | |
| 90 | 7 - Installing Kubectl | 05:53 | |
| 91 | 8 - Kubernetes Hello World | 07:13 | |
| 92 | 9 - Pods | 03:03 | |
| 93 | 10 - Deployments | 04:11 | |
| 94 | 11 - Services | 03:01 | |
| 95 | 12 - Service Discovery | 06:32 | |
| 96 | 1 - IntelliJ k8s Plugin | 02:33 | |
| 97 | 2 - Never Deploy Postgres on k8s. Only for local testing | 02:38 | |
| 98 | 3 - Postgres YAMLs | 09:46 | |
| 99 | 4 - Postgres Running in k8s | 05:26 | |
| 100 | 5 - Exercise | 00:48 | |
| 101 | 6 - Exercise Sol | 07:51 | |
| 102 | 1 - Intro | 01:32 | |
| 103 | 3 - Disabling Eureka | 01:52 | |
| 104 | 4 - Refactor Feign Clients | 07:14 | |
| 105 | 5 - Adding SPRING_PROFILES_ACTIVE=default | 06:08 | |
| 106 | 6 - Kube Profile | 04:41 | |
| 107 | 7 - Building new Images and Testing Docker Compose | 04:34 | |
| 108 | 1 - Section Overview | 00:21 | |
| 109 | 2 - Customer YAMLs | 06:36 | |
| 110 | 3 - Customer Up in Running in k8s | 03:38 | |
| 111 | 5 - Exercise Solution | 04:01 | |
| 112 | 6 - We done it. Microservices running in k8s | 04:48 | |
| 113 | 2 - Linode | 02:23 | |
| 114 | 3 - Create K8s Cluster | 04:39 | |
| 115 | 4 - Dashboard Overview | 02:30 | |
| 116 | 5 - Kubernetes Dashboard | 03:02 | |
| 117 | 6 - Connect To Cluster Using kubectl | 03:02 | |
| 118 | 7 - Postgres | 05:37 | |
| 119 | 8 - Zipkin and LoadBalancers | 05:33 | |
| 120 | 9 - RabbitMQ | 01:30 | |
| 121 | 10 - Deploying Microservices | 04:06 | |
| 122 | 11 - Testing deployment | 02:53 | |
| 123 | 13 - Managed Postgres Database | 02:34 | |
| 124 | 14 - Connecting to Managed Database | 06:31 | |
| 125 | 15 - Override DB Connection Details with Env Variabales | 04:52 | |
| 126 | 16 - Apply Customer yaml | 02:45 | |
| 127 | 17 - Apply Notification and Fraud | 05:47 | |
| 128 | 18 - Testing everything | 03:08 | |
| 129 | 19 - Destroy resources | 05:02 | |
| 130 | 1 - Intro | 00:34 | |
| 131 | 2 - What is Kafka | 07:56 | |
| 132 | 3 - Kafka Broker | 04:54 | |
| 133 | 4 - Bootstrap Project | 02:04 | |
| 134 | 5 - Topic | 02:58 | |
| 135 | 6 - Kafka Producer Config | 05:56 | |
| 136 | 7 - Kafka Template Send | 03:39 | |
| 137 | 8 - Kafka Consumer | 03:59 | |
| 138 | 9 - ConsumerConfig | 05:20 | |
| 139 | 10 - @KafkaListener | 03:57 | |
| 140 | 11 - Restful Api and Kafka Integration | 04:30 | |
| 141 | 12 - Custom Objects | 08:32 | |
| 142 | 13 - Trusted Packages | 03:57 | |
| 143 | 14 - Deployment and Managed Kafka | 02:00 | |
| 144 | 15 - Spring for Apache Kafka Documetation | 01:07 | |
| 145 | 16 - Outro | 00:26 | |
| 146 | Bring Back APIW and Eureka Server | 00:47 | |
| 147 | Enabling Eureka Client | 00:57 | |
| 148 | Starting All Services | 05:15 | |
| 149 | Testing POST request | 03:19 | |
| 150 | API Key Authentication | 03:15 | |
| 151 | Key and Applications Overview | 02:47 | |
| 152 | ApiKeyAuthorization Filter | 03:52 | |
| 153 | Ordering the Filter | 01:15 | |
| 154 | Testing the Filter | 02:37 | |
| 155 | Api Key Validation Overview | 01:01 | |
| 156 | Extracting the Route | 04:29 | |
| 157 | Attaching ApiKey to request | 01:43 | |
| 158 | Accesing Key From Request Header | 03:40 | |
| 159 | FakeApiAuthorizationChecker | 03:58 | |
| 160 | Testing API Authentication Flow | 03:40 | |
| 161 | 1 - Don't Use Spring Cloud Config Server | 05:49 | |
| 162 | 2 - Vault and Secrets Management | 01:15 | |
| 163 | 3 - Reporting Service | 01:57 | |
| 164 | 4 - Security | 02:07 | |
| 165 | 5 - Deployment | 06:11 | |
| 166 | 6 - Outro | 01:59 |
Get instant access to all 165 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Microservices and Distributed Systems?
-
Updated 2y agoBuild Reactive RESTFUL APIs using Spring Boot/WebFlux
By: UdemyLearn to write reactive programming in Spring using WebFlux/Reactor and build Reactive RESTFUL APIs. This course is structured to give you both the theoretical9h 34m -
Updated 2y agoBuilding Your First App with Spring Boot and Angular
By: PluralsightSpring Boot and Angular have forever changed how web applications are built. Understanding how they work is essential for any full-stack developer. In this cour2h 22m5/5 -
Updated 2y agoSpring Boot Microservices and Spring Cloud. Build & Deploy.
By: UdemySpring Boot Microservices and Spring Cloud: Build and Deploy — same Spring Cloud stack with full CI/CD pipeline and Kubernetes deployment.20h 33m -
Updated 1mo agoTesting Spring Boot Applications Masterclass
By: Philip RiecksMaster Spring Boot testing with JUnit, Mockito, and other tools. An in-depth course to improve code quality and confident development.11h 51m -
Updated 2y agoFull Stack Spring Boot & React
By: Nelson Djalo (Amigoscode)Netflix recently switched their entire backend to Spring Boot 2. It was a no brainer really. Spring Boot 2 is the best framework to build applications. Weather10h 1m5/5 -
Updated 1y agoSpring Boot: Mastering the Fundamentals
By: Mosh Hamedani (Code with Mosh)Spring Boot is the primary framework for modern Java development. Whether you are creating web applications, microservices, or enterprise systems.5h 54m -
Updated 3y agoSpring Boot Microservices with Spring Cloud Beginner to Guru
By: UdemyMicroservices are all the buzz in the industry right now. Building a microservice is not just a matter of using RESTFul APIs. Microservices are much MUCH more t34h 14m -
Updated 2y agoSpring Boot Master Class
By: Nelson Djalo (Amigoscode)Learn how to get started with Spring Boot, a powerful framework to build web applications quickly, using less code. The Java-based programs you build in Spring9h 28m5/5
More courses by Nelson Djalo (Amigoscode)
-
Updated 2y agoSpring Boot Master Class
Learn how to get started with Spring Boot, a powerful framework to build web applications quickly, using less code. The Java-based programs you build in Spring9h 28m5/5 -
Updated 2y agoSpring Data JPA Master Class
In this course you learn everything there is to learn about Spring Data JPA allowing to build scalable backend applications backed by any relational database.4h 21m5/5 -
Updated 3y agoDatabase Design & Implementation
Backend starts from Your Database. When you have a solid database design coding is easy.2h 7m5/5 -
Updated 3y agoIntelliJ IDEA Developer Guide
IntelliJ IDEA is an integrated development environment written in Java for developing software.4h 17m5/5 -
ClassicJava Master Class
Welcome to Amigoscode's most comprehensive Java course! It includes everything you need to gain a complete understanding of Java.24h 40m5/5 -
ClassicPROFESSIONAL Full Stack Developer
Are you ready to level up your coding skills and become a full stack professional?54h 23m5/5