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 3y agoSpring Boot Microservices and Spring Cloud
By: UdemySpring Boot Microservices and Spring Cloud — build REST microservices in Java with Eureka discovery, Config Server, Hystrix, and Spring Cloud Gateway.18h 8m -
ClassicSpring Boot E-Commerce Ultimate Course
By: UdemyI'm very glad that you have found the most sophisticated and comprehensive course ever on web development with Java and Spring Boot. In this course, you will le83h 14m4/5 -
Updated 3y agoJava Spring Tutorial Masterclass - Learn Spring Framework 5
By: UdemyThere is no doubt that having Spring Framework skills on your résumé will make you a more employable Java developer. Spring developers are in high demand and ar45h 18m -
Updated 2y agoJava Messaging Service - Spring MVC, Spring Boot, ActiveMQ
By: UdemyApache ActiveMQ is open source message broker developed in Java. Have you ever thought how WhatsApp works ? One to one messaging and one to many messaging tech1h 47m -
Updated 2y agoLearn Spring 5 and Spring Boot 2
By: BaeldungSpring is, by far, the most popular framework for application development in the Java ecosystem. By a wide margin. The reason is actually quite simple - it does4h 57m -
Updated 3y agoBuild RESTFUL APIs using Kotlin and Spring Boot
By: UdemyKotlin is the Modern, concise and safe programming language and is one of the popular JVM language in this day and age.8h 23m5/5 -
Updated 2y agoLearn Spring 5, Boot 2, JPA, Thymeleaf, AOP, Web MVC, REST
By: UdemyMaster Modern Spring Boot, Spring Web MVC, AOP, Hibernate, Thymeleaf, JPA, Spring Security, RESTful services. Spring is, by far, the most popular framework for16h 37m -
Updated 2y agoDeploy Spring Boot Microservices on AWS ECS with Fargate
By: UdemyThis course is for Java developers interested in learning how to deploy Spring Boot Microservices on AWS cloud using AWS ECS(Elastic Container Service). By the7h 1m
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