Microservices and Distributed Systems

Microservices and Distributed Systems

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 166 Lessons (11h 18m) | 3.57 GB

Microservices and Distributed Systems: Building and Deploying Microservices from scratch

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 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
Table of Contents

1 Few Words Before We Begin
2 Join The Community
3 Course Overview
4 Maven
5 IntelliJ
6 Open The Project with IntelliJ
7 Maven Parent Module
8 Intro
9 Spring Cloud
10 Create Your First Microservice
11 Model Controller and Service
12 Postgres and PGAdmin on Docker
13 Connecting to DB
14 Databases
15 Intro
16 Fraud Microservice
17 Database Setup for Fraud
18 Fraud Controller Service and Repository
19 RestTemplate
20 Testing Microservice Communication
21 Service Discovery
22 Spring Cloud Dependency
23 Setting up Eureka Server
24 Dashboard
25 Eureka Clients
26 @LoadBalanced
27 Open Feign
28 Feign client Feign
29 Using Fegin Client
30 Microservice Communication With Feign
31 Exercise
32 Solution
33 Distributed Tracing
34 Adding Sleuth
35 Zipkin
36 Zipkin Container
37 Spring Cloud Sleuth Zipkin
38 Zipkin Dashboard
39 What are Load Balencers
40 Load Balancer Algorithms
41 Load Balancer Health Checks
42 Spring Cloud Gateway
43 Bootstrap API Gateway
44 Configuring API Gateway
45 API Gateway in Action
46 Why a message queue
47 Simulate Slow Response
48 AMQP & RabbitMQ
49 Kafka RabbitMQ and SQS
50 AMQP Exchange Types
51 Rabbit MQ Container
52 AMQPTemplate and JacksonConverter
53 SimpleRabbitListenerContainerFactory
54 Notification Queue Configuration
55 Queue Topic and Binding
56 Message Producer
57 Publishing Messages
58 Customer Microservice Publishing Messages To Queue
59 @RabbitListener
60 We made it. Our code is Asynchronous
61 Intro
62 Maven Compiler Plugin
63 Spring Boot Maven Plugin
64 Installing Root and Individual Modules with Maven
65 Running all Jars
66 Intro
67 What is Docker
68 Docker Images and Containers
69 Docker Architecture
70 Docker Registries
71 Docker Login
72 Spring Boot Maven Plugin and Jib
73 Jib Maven Plugin
74 Jib Sub Module Configuration
75 Build and Push
76 Exercise
77 Exercise Solution
78 Adding Eureka Server and ApiGW to Docker Compose
79 Docker Network
80 Spring Profiles
81 ApiGW and Eureka Server Docker Containers
82 Exercise 2
83 Exercise 2 Solution
84 Intro
85 What is Kubernetes
86 Master and Control Plane
87 Worker Nodes
88 Running Kubernetes Clusters
89 Minikube
90 Installing Kubectl
91 Kubernetes Hello World
92 Pods
93 Deployments
94 Services
95 Service Discovery
96 IntelliJ k8s Plugin
97 Never Deploy Postgres on k8s. Only for local testing
98 Postgres YAMLs
99 Postgres Running in k8s
100 Exercise
101 Exercise Sol
102 Intro
103 Disabling Eureka
104 Refactor Feign Clients
105 Adding SPRING_PROFILES_ACTIVE=default
106 Kube Profile
107 Building new Images and Testing Docker Compose
108 Section Overview
109 Customer YAMLs
110 Customer Up in Running in k8s
111 Exercise Solution
112 We done it. Microservices running in k8s
113 Linode
114 Create K8s Cluster
115 Dashboard Overview
116 Kubernetes Dashboard
117 Connect To Cluster Using kubectl
118 Postgres
119 Zipkin and LoadBalancers
120 RabbitMQ
121 Deploying Microservices
122 Testing deployment
123 Managed Postgres Database
124 Connecting to Managed Database
125 Override DB Connection Details with Env Variabales
126 Apply Customer yaml
127 Apply Notification and Fraud
128 Testing everything
129 Destroy resources
130 Intro
131 What is Kafka
132 Kafka Broker
133 Bootstrap Project
134 Topic
135 Kafka Producer Config
136 Kafka Template Send
137 Kafka Consumer
138 ConsumerConfig
139 @KafkaListener
140 Restful Api and Kafka Integration
141 Custom Objects
142 Trusted Packages
143 Deployment and Managed Kafka
144 Spring for Apache Kafka Documetation
145 Outro
146 Bring Back APIW and Eureka Server
147 Enabling Eureka Client
148 Starting All Services
149 Testing POST request
150 API Key Authentication
151 Key and Applications Overview
152 ApiKeyAuthorization Filter
153 Ordering the Filter
154 Testing the Filter
155 Api Key Validation Overview
156 Extracting the Route
157 Attaching ApiKey to request
158 Accesing Key From Request Header
159 FakeApiAuthorizationChecker
160 Testing API Authentication Flow
161 Don’t Use Spring Cloud Config Server
162 Vault and Secrets Management
163 Reporting Service
164 Security
165 Deployment
166 Outro

Homepage