Spring Boot Microservices and Spring Cloud

18h 8m 21s
English
Paid
November 21, 2023

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 help you create and run RESTful Microservices from scratch. You will learn how to run Microservices on your own developer's machine as well as in Docker Containers on AWS EC2 Linux machines.

More

By the end of this course you will have your own RESTful Spring Boot Microservices built and running in Spring Cloud.

You will learn how to create and run your own: 

  • RESTful Microservices,

  • Eureka Discovery Service,

  • Zuul API Gateway,

  • Load Balancer,

  • Spring Cloud Config Server,

You will learn to use:

  • Spring Cloud Bus and Rabbit MQ,

  • Spring Boot Actuator

You will also learn how to implement for your REST API features like: 

  • User Authentication(Login) and,

  • User Authorization(Registration)

You will learn to use: 

  • Spring Security and JWT

You will learn how to use: 

  • Spring Data JPA to store user details in a database,

  • H2 in-memory database and a database console,

  • MySQL database server,

  • Postman HTTP Client,

  • Spring Tool Suite,

  • Spring Initializer

This course also covers how to:

  • Trace HTTP Requests with Spring Cloud Sleuth and Zipkin(Distributed tracing)

  • Aggregate log files in one place(Centralized logging) with ELK stack(Logstash, Elasticsearch, Kibana).

You will also learn how to: 

  • Start up AWS EC2 Linux machine,

  • Install Docker,

  • Create Docker images,

  • Run Microservices in Docker containers on multiple EC2 Linux machines in Amazon AWS Cloud.

Requirements:
  • Know Java
  • Mac computer
Who this course is for:
  • Beginner Java developers
  • Java developers interested in learning how to build Spring Boot Microservices

What you'll learn:

  • Build and run RESTful Microservices
  • Implement User Authentication
  • Eureka Discovery Service
  • Implement User Authorization with Spring Security and JWT
  • Zuul API Gateway and a Load Balancer
  • Learn to use JPA to persist data into a Database
  • Cloud Cloud Config Server
  • Learn to install MySQL Server and persist data into MySQL
  • Spring Cloud Bus and Rabbit MQ
  • H2 in-memory database and H2 Console
  • Spring Boot Actuator
  • Learn to use HTTP Postman
  • Use Spring Security
  • Learn to use Spring Initializer
  • Distributed Tracing with Sleuth and Zipkin
  • Learn to use Spring Tool Suite
  • Centralized Logging with ELK Stack(Logstash, Elasticsearch, Kibana)
  • Run Microservices in Docker Containers

Watch Online Spring Boot Microservices and Spring Cloud

Join premium to watch
Go to premium
# Title Duration
1 Course Overview 07:24
2 A few suggestions 03:30
3 What is a Microservice? 07:12
4 Sample Microservices Architecture 07:21
5 Download and Install Postman HTTP Client 02:10
6 Postman Overview 10:42
7 Resource and Collection URIs 11:13
8 HTTP Methods: GET, POST, DELETE and PUT 03:45
9 HTTP Headers: Accept and Content Type 04:13
10 Install Java Platform(JDK) 05:49
11 Download and Install Spring Tool Suite(STS) 01:56
12 Introduction 00:42
13 Creating a New Project 06:13
14 Creating a new Spring project using Spring Boot Initializr 04:43
15 Create Users Rest Controller class 02:46
16 Adding Methods to Handle POST, GET, PUT, DELETE HTTP requests 03:14
17 Running Web Service Application 04:37
18 Reading Path Variables with @PathVariable annotaion 03:32
19 Reading Query String Request Parameters 04:52
20 Making Parameters Optional or Required 04:36
21 Returning Java Object as Return Value 04:12
22 Returning Object as JSON or XML Representation 05:36
23 Set Response Status Code 04:59
24 Reading HTTP POST Request Body. The @RequestBody annotation. 08:14
25 Validating HTTP POST Request Body 08:57
26 Store Users Temporary 04:51
27 Handle HTTP PUT Request 09:07
28 Handle HTTP Delete Request 04:53
29 Handle an Exception 07:45
30 Return Custom Error Message Object 05:36
31 Handle a Specific Exception 03:07
32 Throw and Handle You Own Custom Exception 04:14
33 Catch More Than One Exception with One Method 02:55
34 Dependency Injection: Create and Autowire a Service Layer Class 10:55
35 Constructor Based Dependency Injection 06:25
36 Run Web Service as a Standalone Application 04:53
37 Introduction to Eureka Discovery Service 04:18
38 Startup Eureka Service Discovery 05:40
39 Introduction to Building a Users Microservice 02:11
40 Users Microservice - Create new Spring Boot Project 03:41
41 Enable Spring Discovery Cloud Client 03:02
42 Create Users Rest Controller 02:05
43 Access Users Web Service Endpoint via Eureka Discovery Service 03:00
44 Introduction to Building an Account Management Microservice 01:35
45 Password Reset - Create a new Spring Boot Project 04:00
46 Access Account Management Microservice via Eureka Discovery Service 02:57
47 Important note 01:49
48 Introduction to Zuul API Gateway 03:25
49 Create a ZUUL API Gateway Project 03:38
50 Access Microservices via API Gateway 04:15
51 Load Balancer - Introduction 00:51
52 Starting Up More Microservices 08:59
53 Trying How Load Balancer Works 04:48
54 Important Note 01:44
55 Introduction 06:28
56 Creating API Gateway Project 05:05
57 Automatic Mapping of Gateway Routes 06:50
58 Manually Configuring API Gateway Routes 07:50
59 Trying how it works 04:09
60 Rewriting URL Path 05:07
61 Automatic & Manual Routing 01:58
62 Starting Up More Microservices 08:59
63 Trying How Load Balancer Works 03:54
64 H2 In-memory Database. Introduction. 03:20
65 H2 Database Console Overview 07:41
66 Adding Support for the H2 Database 04:41
67 Introduction 00:42
68 Adding method to handle HTTP Post Request 01:15
69 Implementing the Create User Request Model class 03:18
70 Validating HTTP Request Body 04:21
71 Application Layers 02:49
72 Implementing Service Layer Class 02:11
73 Create a Shared DTO Class 03:16
74 Generate Unique Public User Id 02:17
75 Adding Support for Spring Data JPA 02:02
76 Implementing User Entity Class 06:08
77 Implementing Spring Data JPA CRUD Repository 02:35
78 Save User Details in Database 11:16
79 Return Http Status Code 02:30
80 Implementing Create User Response Model 04:31
81 Add Spring Security to Users Microservice 01:16
82 Add WebSecurity Configuration 04:13
83 Encrypt User Password 04:51
84 Allow only IP address of Zuul API Gateway 02:16
85 Adding Support to Return JSON or XML 05:00
86 Introduction 01:11
87 Implementing LoginRequestModel 01:22
88 AuthenticationFilter. Implementing attemptAuthentication() 06:04
89 Implementing loadUserByUserName() 11:38
90 AuthenticationFilter. Implementing successfulAuthentication(). 13:13
91 Trying How User Login Works 05:46
92 Customize User Authentication URL 03:31
93 Introduction to Spring Security on API Gateway 01:54
94 Adding Support for Spring Security and JWT Tokens 01:18
95 Enable Web Security in Zuul 04:30
96 Allow Access to Registration and Login Urls 05:07
97 Implementing Authorization Filter 08:44
98 Accessing Protected Microservices with Access Token 05:23
99 Introduction 03:11
100 Using Header Predicate 04:05
101 Adding Support for JWT Token Validation 01:52
102 Creating AuthorizationFilter class 03:50
103 Assign Custom Filter to a Gateway Route 01:13
104 Signup and Login Routes 03:06
105 Reading Authorization HTTP Header 07:43
106 Validating JWT Access Token 07:28
107 Accessing Protected Microservices with Access Token 06:40
108 Introduction to Spring Cloud Config Server 04:04
109 Create Your Own Config Server 02:54
110 Create Private GitHub Repository 02:25
111 Naming Property Files Served by Config Server 02:33
112 Configure Config Server to Access Private GitHub Repository 02:47
113 Adding Properties File to Git Repository 03:17
114 Configure Users Microservice to be a Client of Config Server 07:23
115 Make Zuul Gateway a Client of Config Server 02:19
116 Introduction to Spring Cloud Bus 03:53
117 Add Spring Cloud Bus & Actuator Dependencies 02:28
118 Enable the /bus-refresh URL Endpoint 01:48
119 Download and Run Rabbit MQ 03:21
120 Rabbit MQ Default Connection Details 02:16
121 Trying how Spring Cloud Bus Works 08:38
122 Change default Rabbit MQ Password 03:30
123 Introduction to Spring Cloud Config File System as a Backend 00:46
124 Setting up File System Backend 04:52
125 Previewing Values Returned by Config Server 01:42
126 Trying how Microservices work 02:39
127 Introduction 02:32
128 Shared and a Microservice specific properties 07:02
129 Introduction to Spring Boot Actuator 02:16
130 Add Spring Boot Actuator to API Gateway 05:00
131 Trying How It Works 05:03
132 Enable Actuator for Users Microservice 05:52
133 Introduction 01:01
134 Download and Install MySQL 03:17
135 Start MySQL Server and Login 06:15
136 Create MySQL Database And a New User 06:26
137 Downloading and Installing MySQL Workbench 03:03
138 Connect to MySQL Database using MySQL WorkBench 05:27
139 MySQL WorkBench brief overview 04:16
140 Configure MySQL Database Access Details 09:49
141 Use H2 Console to Access MySQL Database 02:49
142 Copy MySQL properties to a Config Server 01:41
143 Introduction to Encryption and Decryption of Configuration Properties 02:44
144 Add Java Cryptography Extension 06:15
145 Symmetric Encryption of Properties 08:51
146 Creating a Keystore for Asymmetric Encryption 05:06
147 Asymmetric Encryption of Properties 05:26
148 Introduction to Microservices Communication 03:49
149 Clone Source Code of Albums Microservice 02:12
150 A walk through an Albums Microservice 05:38
151 Implementing Get User Details 05:44
152 Make Users Microservice call Albums Microservice 10:26
153 Trying how it works 04:00
154 Feign Web Service Client - Introduction 01:33
155 Enable Feign in Spring Boot Project 01:55
156 Create Feign Client 05:08
157 Using Feign Client 01:48
158 Trying How Feign Client Works 03:12
159 Enable HTTP Requests Logging in Feign Client 05:42
160 Handle FeignException 04:37
161 Handle Response Errors with Feign Error Decoder 12:58
162 Hystrix Circuit Breaker & Feign. Introduction. 02:56
163 Configure Project to use Hystrix Circuit Breaker 04:29
164 Trying How Hystrix Circuit Breaker & Feign work 03:11
165 Error Handling with Feign Hystrix FallbackFactory 11:06
166 Introduction to Distributed Tracing with Sleuth and Zipkin 03:08
167 Add Spring Cloud Sleuth to Users Microservice 04:13
168 Checking Trace ID and Span ID in a Console 05:27
169 Startup Zipkin Server 02:19
170 View Traces in Zipkin 05:15
171 Introduction to Aggregating Log Files with ELK Stack 02:05
172 Configure Microservices to Log into a File 02:56
173 Download Logstash 01:40
174 Configure Logstash to Read Log Files 09:12
175 Download and Run Elasticsearch 03:17
176 Run Search Query 06:51
177 Download, Install and Run Kibana 03:45
178 View Aggregated Logs in Kibana 05:28
179 Configure Spring Security to Eureka Server 02:16
180 Enable Web Security 02:41
181 Configure Eureka Clients to use Username and Password 03:11
182 Configure Eureka Service URL in Config Server 04:20
183 Move Username and Password to Config Server 04:01
184 Encrypting Username and Password 06:04
185 Introduction to Running Microservices in Docker Containers 08:00
186 Start up a new Linux Server on AWS EC2 14:57
187 Connect to EC2 Instance 04:47
188 Install Docker on AWS EC2 01:52
189 Docker Hub Introduction 01:58
190 Run RabbitMQ Docker Container 09:13
191 Basic Docker Commands: Run, Stop, Start, Remove Containers and Images 06:50
192 Create Config Server Docker Image 09:49
193 Publish Config Server Docker Image to Docker Hub 04:28
194 Run Config Server on EC2 from Docker Hub 10:28
195 Start New EC2 Instance for Eureka 03:24
196 Build Docker Image for Eureka Discovery Service 04:02
197 Run Eureka in Docker container 11:21
198 Elastic IP address for EC2 Instance 04:42
199 Create Zuul Api Gateway Docker Image 04:42
200 Run Zuul Api Gateway in Docker Container 08:04
201 Run Elastic Search in Docker container 05:56
202 Run Kibana in Docker Container 06:35
203 Run Kibana and Elastic Search on the same Network 04:32
204 Docker Image for Albums Microservice 04:28
205 Run Albums Microservice Docker Image on EC2 10:50
206 Logstash Docker Image for Albums Microservice 08:51
207 Run Logstash in Docker container 04:35
208 Run MySQL in Docker Container 08:38
209 Make MySQL Docker Container Persist Data on EC2 03:20
210 Build Users Microservice Docker Image 04:23
211 Run Users Microservice in Docker container 10:00
212 Run Logstash for Users Microservice 07:52
213 Introduction 05:10
214 Preparing Configuration for another environment 08:32
215 Creating Beans Based on Spring Boot @Profile used 11:33
216 Running Docker Container for Different Environments 01:03
217 Introduction 06:31
218 Pass Authorization Header to Downstream Microservice 01:23
219 Add AuthorizationFilter to Users Microservice 06:02
220 Configure HttpSecurity 02:31
221 Trying how it works 03:12
222 Introduction to Method-Level security 04:56
223 Enable Method-Level Security 02:01
224 @PreAuthorize annotation example 03:31
225 Trying how @PreAuthorize annotation works 03:03
226 @PostAuthorize annotation example 07:12

Similar courses to Spring Boot Microservices and Spring Cloud

Master Spring Boot 3 & Spring Framework 6 with Java

Master Spring Boot 3 & Spring Framework 6 with Javaudemy

Duration 37 hours 34 minutes 14 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
Full Stack Spring Boot & React

Full Stack Spring Boot & Reactamigoscode (Nelson Djalo)

Duration 10 hours 1 minute 23 seconds