Microservices and Distributed Systems

11h 18m
English
Paid
February 3, 2024

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.

More

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


Watch Online Microservices and Distributed Systems

Join premium to watch
Go to premium
# Title Duration
1 1 - Few Words Before We Begin 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

Similar courses to Microservices and Distributed Systems

Spring Boot Master Class

Spring Boot Master Classamigoscode (Nelson Djalo)

Duration 9 hours 28 minutes 30 seconds
Full Stack Spring Boot & React

Full Stack Spring Boot & Reactamigoscode (Nelson Djalo)

Duration 10 hours 1 minute 23 seconds
Spring Boot Microservices and Spring Cloud

Spring Boot Microservices and Spring Cloududemy

Duration 18 hours 8 minutes 21 seconds
Spring Boot E-Commerce Ultimate Course

Spring Boot E-Commerce Ultimate Courseudemy

Duration 83 hours 14 minutes 29 seconds
OAuth 2.0 in Spring Boot Applications

OAuth 2.0 in Spring Boot Applicationsudemy

Duration 10 hours 54 minutes 34 seconds
Go Full Stack with Spring Boot and React

Go Full Stack with Spring Boot and Reactudemy

Duration 11 hours 43 minutes 36 seconds