Microservices and Distributed Systems

11h 18m
English
Paid

Course description

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.

Read more about the course

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 166 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Microservices and Distributed Systems

0:00
/
#1: 1 - Few Words Before We Begin

All Course Lessons (166)

#Lesson TitleDurationAccess
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

Unlock unlimited learning

Get instant access to all 165 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Spring Boot: Mastering the Fundamentals

Spring Boot: Mastering the Fundamentals

Sources: codewithmosh (Mosh Hamedani)
Spring Boot is the primary framework for modern Java development. Whether you are creating web applications, microservices, or enterprise systems, Spring...
5 hours 54 minutes 44 seconds
Spring Boot Microservices and Spring Cloud. Build & Deploy.

Spring Boot Microservices and Spring Cloud. Build & Deploy.

Sources: udemy
This video course is for Beginners who have never build RESTful Web Services and Microservices before. It will guide you step-by-step through basics and will he
20 hours 33 minutes 14 seconds
Build RESTFUL APIs using Kotlin and Spring Boot

Build RESTFUL APIs using Kotlin and Spring Boot

Sources: udemy
Kotlin is the Modern, concise and safe programming language and is one of the popular JVM language in this day and age. It’s also interoperable with Java and other languages, a...
8 hours 23 minutes 18 seconds
Master Spring 6 Spring Boot 3 REST JPA Hibernate

Master Spring 6 Spring Boot 3 REST JPA Hibernate

Sources: udemy
'Master Spring framework, Spring Boot, REST, JPA, Hibernate' course will help in understanding about Spring framework and how to build web applications, Rest Services using Spri...
36 hours 15 minutes 18 seconds
Spring Boot 3 Thymeleaf REAL-TIME Web Application - Blog App

Spring Boot 3 Thymeleaf REAL-TIME Web Application - Blog App

Sources: udemy
In this course, you will learn how to build a real-time complete blog application step by step using Spring Boot 3, Spring MVC, Thymeleaf, Spring Security 6, Sp
11 hours 52 minutes 40 seconds