Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Microservices and Distributed Systems
Getting Started
1 - Few Words Before We Begin (1:07)
2 - Join The Community (0:51)
3 - Course Overview (3:37)
4 - Resources and Links
Bootstrap With Maven
1 - Maven (2:38)
2 - IntelliJ (2:06)
3 - Open The Project with IntelliJ (1:40)
4 - Maven Parent Module (7:00)
Your First Microservice
Intro (0:41)
1 - Spring Cloud (3:35)
2 - Create Your First Microservice (7:57)
3 - Model Controller and Service (5:31)
4 - Postgres and PGAdmin on Docker (4:29)
5 - Connecting to DB (8:06)
6 - Databases (1:17)
7 - Section End Git Commit
Microservice Communication via HTTP
1 - Intro (1:14)
2 - Fraud Microservice (4:45)
3 - Database Setup for Fraud (4:41)
4 - Fraud Controller Service and Repository (7:41)
5 - RestTemplate (5:23)
6 - Testing Microservice Communication (3:09)
7 - Section End Git Commit
Service Discovery with Eureka
1 - Service Discovery (4:08)
2 - Spring Cloud Dependency (3:37)
3 - Setting up Eureka Server (5:36)
4 - Dashboard (1:54)
5 - Eureka Clients (7:39)
6 - @LoadBalanced (6:52)
7 - Section End Git Commit
Open Feign
1 - Open Feign (2:32)
2 - Feign client Feign (6:30)
3 - Using Fegin Client (4:58)
4 - Microservice Communication With Feign (2:56)
5 - Section End Git Commit
Exercise
1 - Exercise (1:52)
2 - Solution (4:12)
3 - Section End Git Commit
Distributed Tracing
1 - Distributed Tracing (3:41)
2 - Adding Sleuth (3:46)
3 - Zipkin (1:05)
4 - Zipkin Container (2:57)
5 - Spring Cloud Sleuth Zipkin (3:25)
6 - Zipkin Dashboard (6:38)
7 - Section End Git Commit
Api Gateway With Spring Cloud Gateway
1 - What are Load Balencers (9:57)
2 - Load Balancer Algorithms (2:53)
3 - Load Balancer Health Checks (2:04)
4 - Spring Cloud Gateway (2:56)
5 - Bootstrap API Gateway (4:13)
6 - Configuring API Gateway (2:44)
7 - API Gateway in Action (3:06)
8 - Section End Git Commit
Message Queues
1 - Why a message queue (3:52)
2 - Simulate Slow Response (4:30)
3 - AMQP & RabbitMQ (6:27)
4 - Kafka RabbitMQ and SQS (4:19)
5 - AMQP Exchange Types (4:55)
RabbitMQ
1 - Rabbit MQ Container (3:32)
2 - AMQPTemplate and JacksonConverter (6:26)
3 - SimpleRabbitListenerContainerFactory (4:36)
4 - Notification Queue Configuration (4:28)
5 - Queue Topic and Binding (4:00)
6 - Message Producer (3:44)
7 - Publishing Messages (9:16)
8 - Customer Microservice Publishing Messages To Queue (5:49)
9 - @RabbitListener (7:08)
11 - Zikin Dashboard With RabbitMQ
12 - We made it. Our code is Asynchronous (2:15)
13 - Section End Git Commit
Packaging Microservices to Runnable Jar
1 - Intro (0:53)
2 - Maven Compiler Plugin (7:22)
3 - Spring Boot Maven Plugin (6:19)
4 - Installing Root and Individual Modules with Maven (6:34)
5 - Running all Jars (9:14)
6 - Section End Git Commit
Packaging Jars to Docker Images
1 - Intro (1:07)
2 - What is Docker (1:31)
3 - Docker Images and Containers (3:17)
4 - Docker Architecture (2:42)
5 - Docker Registries (4:12)
6 - Docker Login (5:48)
7 - Spring Boot Maven Plugin and Jib (2:33)
8 - Jib Maven Plugin (8:38)
9 - Jib Sub Module Configuration (4:37)
10 - Build and Push (5:16)
11 - Exercise (1:42)
12 - Exercise Solution (3:08)
13 - Adding Eureka Server and ApiGW to Docker Compose (2:48)
14 - Docker Network (2:11)
15 - Spring Profiles (3:42)
16 - ApiGW and Eureka Server Docker Containers (3:56)
17 - Exercise 2 (0:33)
18 - Exercise 2 Solution (8:19)
19 - Section End Git Commit
Kubernetes AKA k8s
1 - Intro (0:49)
2 - What is Kubernetes (4:16)
3 - Master and Control Plane (8:29)
4 - Worker Nodes (6:21)
5 - Running Kubernetes Clusters (4:44)
6 - Minikube (6:40)
7 - Installing Kubectl (5:52)
8 - Kubernetes Hello World (7:12)
9 - Pods (3:02)
10 - Deployments (4:10)
11 - Services (3:00)
12 - Service Discovery (6:31)
Deploying Postgres RabbitMQ and Zipkin to k8s
1 - IntelliJ k8s Plugin (2:32)
2 - Never Deploy Postgres on k8s. Only for local testing (2:37)
3 - Postgres YAMLs (9:45)
4 - Postgres Running in k8s (5:25)
5 - Exercise (0:47)
6 - Exercise Sol (7:50)
7 - Section End Git Commit
Refactoring Microservices for k8s
1 - Intro (1:31)
2 - No need for API Gateway Anymore
3 - Disabling Eureka (1:51)
4 - Refactor Feign Clients (7:13)
5 - Adding SPRING_PROFILES_ACTIVE=default (6:07)
6 - Kube Profile (4:40)
7 - Building new Images and Testing Docker Compose (4:33)
8 - Section End Git Commit
Deploying Microservices to k8s
1 - Section Overview (0:20)
2 - Customer YAMLs (6:35)
3 - Customer Up in Running in k8s (3:37)
4 - Exercise
5 - Exercise Solution (4:00)
6 - We done it. Microservices running in k8s (4:47)
7 - Section End Git Commit
Managed Kubernetes Cluster with Linode
1 - Commands for this sections
2 - Linode
3 - Create K8s Cluster
4 - Dashboard Overview
5 - Kubernetes Dashboard
6 - Connect To Cluster Using kubectl
7 - Postgres
8 - Zipkin and LoadBalancers
9 - RabbitMQ
10 - Deploying Microservices
11 - Testing deployment
13 - Managed Postgres Database
14 - Connecting to Managed Database
15 - Override DB Connection Details with Env Variabales
16 - Apply Customer yaml
17 - Apply Notification and Fraud
18 - Testing everything
19 - Destroy resources
Kafka
1 - Intro (0:33)
2 - What is Kafka (7:55)
3 - Kafka Broker (4:53)
4 - Bootstrap Project (2:03)
5 - Topic (2:57)
6 - Kafka Producer Config (5:55)
7 - Kafka Template Send (3:38)
8 - Kafka Consumer (3:58)
9 - ConsumerConfig (5:19)
10 - @KafkaListener (3:56)
11 - Restful Api and Kafka Integration (4:29)
12 - Custom Objects (8:31)
13 - Trusted Packages (3:56)
14 - Deployment and Managed Kafka (1:59)
15 - Spring for Apache Kafka Documetation (1:06)
16 - Outro (0:25)
Bringing Back API Gateway for Security
Bring Back APIW and Eureka Server
Enabling Eureka Client
Starting All Services
Testing POST request
Security - API Key Authentication
API Key Authentication
Key and Applications Overview
ApiKeyAuthorization Filter
Ordering the Filter
Testing the Filter
Api Key Validation Overview
Extracting the Route
Attaching ApiKey to request
Accesing Key From Request Header
FakeApiAuthorizationChecker
Testing API Authentication Flow
ApiKey Management App
Coming soon
Oauth2 & KeyCloak
Coming soon
Outro
1 - Don't Use Spring Cloud Config Server (5:48)
2 - Vault and Secrets Management (1:14)
3 - Reporting Service (1:56)
4 - Deployment (6:10)
5 - Outro (1:58)
6 - Connect To Cluster Using kubectl
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock