Spring Boot Microservices And Spring Cloud
Tags: Microservices
Learn to build RESTful Microservices with Spring Boot and Spring Cloud
Last updated 2022-01-10 | 4.5
- Build and run RESTful Microservices- Implement User Authentication
- Eureka Discovery Service
What you'll learn
* Requirements
* Know Java* Mac computer
Description
- Build and run RESTful Microservices
- Implement User Authentication
- Eureka Discovery Service
- Implement User Authorization with Spring Security and JWT
- Spring Cloud API Gateway
- 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
Course content
31 sections • 246 lectures
Source Code Preview 00:08
Course Overview Preview 07:23
A few suggestions Preview 03:29
What is a Microservice? Preview 07:11
Sample Microservices Architecture Preview 07:20
Download and Install Postman HTTP Client Preview 02:09
Postman Overview Preview 10:41
Resource and Collection URIs Preview 11:12
HTTP Methods: GET, POST, DELETE and PUT Preview 03:44
HTTP Headers: Accept and Content Type Preview 04:12
Install Java Platform(JDK) Preview 05:48
Download and Install Spring Tool Suite(STS) Preview 01:55
Introduction Preview 00:41
Creating a New Project Preview 06:12
Creating a new Spring project using Spring Boot Initializr Preview 04:42
Create Users Rest Controller class Preview 02:45
Adding Methods to Handle POST, GET, PUT, DELETE HTTP requests Preview 03:13
Running Web Service Application Preview 04:36
Reading Path Variables with @PathVariable annotaion Preview 03:31
Reading Query String Request Parameters Preview 04:51
Making Parameters Optional or Required Preview 04:35
Returning Java Object as Return Value Preview 04:11
Returning Object as JSON or XML Representation Preview 05:35
Set Response Status Code Preview 04:58
Reading HTTP POST Request Body. The @RequestBody annotation. Preview 08:13
Validating HTTP POST Request Body Preview 08:56
Store Users Temporary Preview 04:50
Handle HTTP PUT Request Preview 09:06
Handle HTTP Delete Request Preview 04:52
Handle an Exception Preview 07:44
Return Custom Error Message Object Preview 05:35
Handle a Specific Exception Preview 03:06
Throw and Handle You Own Custom Exception Preview 04:13
Catch More Than One Exception with One Method Preview 02:54
Dependency Injection: Create and Autowire a Service Layer Class Preview 10:54
Constructor Based Dependency Injection Preview 06:24
Run Web Service as a Standalone Application Preview 04:52
Introduction to Eureka Discovery Service Preview 04:29
Startup Eureka Service Discovery Preview 05:39
Troubleshooting Preview 00:16
Introduction to Building a Users Microservice Preview 02:10
Users Microservice - Create new Spring Boot Project Preview 03:40
Enable Eureka Client Preview 03:01
Create Users Rest Controller Preview 02:04
Access Users Web Service Endpoint via Eureka Discovery Service Preview 02:59
Exercise - Create Account Management Microservice Preview 00:09
Introduction to Building an Account Management Microservice Preview 01:34
Password Reset - Create a new Spring Boot Project Preview 03:59
Create a new Spring Boot Project
Create a new RestController
Enable Eureka Discovery Client
Access Account Management Microservice via Eureka Discovery Service Preview 02:56
Important note Preview 01:48
Introduction to Zuul API Gateway Preview 03:24
Create a ZUUL API Gateway Project Preview 03:37
Access Microservices via API Gateway Preview 04:14
Important note Preview 00:04
Load Balancer - Introduction Preview 00:50
Starting Up More Microservices Preview 08:58
Trying How Load Balancer Works Preview 04:47
Important Note Preview 01:43
Introduction Preview 06:27
Creating API Gateway Project Preview 05:04
Automatic Mapping of Gateway Routes Preview 06:49
Manually Configuring API Gateway Routes Preview 07:49
Trying how it works Preview 04:08
Rewriting URL Path Preview 05:06
Automatic & Manual Routing Preview 01:57
Build-In Predicate Factories Preview 03:30
Gateway Filters Preview 00:10
Starting Up More Microservices Preview 08:58
Trying How Load Balancer Works Preview 03:53
H2 In-memory Database. Introduction. Preview 03:19
H2 Database Console Overview Preview 07:40
Adding Support for the H2 Database Preview 04:40
Introduction Preview 00:41
Adding method to handle HTTP Post Request Preview 01:14
Implementing the Create User Request Model class Preview 03:17
Validating HTTP Request Body Preview 04:20
Application Layers Preview 02:48
Implementing Service Layer Class Preview 02:10
Create a Shared DTO Class Preview 03:15
Generate Unique Public User Id Preview 02:16
Adding Support for Spring Data JPA Preview 02:01
Implementing User Entity Class Preview 06:07
Implementing Spring Data JPA CRUD Repository Preview 02:34
Save User Details in Database Preview 11:15
Return Http Status Code Preview 02:29
Implementing Create User Response Model Preview 04:30
Add Spring Security to Users Microservice Preview 01:15
Add WebSecurity Configuration Preview 04:12
Encrypt User Password Preview 04:50
- Add Spring Security support to pom.xml
- Disable Spring Security in Main Application class
- Use BCryptPasswordEncoder to Encode Password
Allow only IP address of Zuul API Gateway Preview 02:15
Adding Support to Return JSON or XML Preview 04:59
Introduction Preview 01:10
Implementing LoginRequestModel Preview 01:21
AuthenticationFilter. Implementing attemptAuthentication() Preview 06:03
Implementing loadUserByUserName() Preview 11:37
AuthenticationFilter. Implementing successfulAuthentication(). Preview 13:12
Trying How User Login Works Preview 05:45
Customize User Authentication URL Preview 03:30
Important note Preview 00:03
Introduction to Spring Security on API Gateway Preview 01:53
Adding Support for Spring Security and JWT Tokens Preview 01:17
Create a new Spring Boot Project
Create a new RestController
Enable Eureka Discovery Client
Try how it works
Enable Web Security in Zuul Preview 04:29
Allow Access to Registration and Login Urls Preview 05:06
Implementing Authorization Filter Preview 08:43
Accessing Protected Microservices with Access Token Preview 05:22
Access Web Service Endpoint in /users
Access Web Service Endpoint in /account
Introduction Preview 03:10
Using Header Predicate Preview 04:04
Adding Support for JWT Token Validation Preview 01:51
Creating AuthorizationFilter class Preview 03:49
Assign Custom Filter to a Gateway Route Preview 01:12
Signup and Login Routes Preview 03:05
Reading Authorization HTTP Header Preview 07:42
Validating JWT Access Token Preview 07:27
Accessing Protected Microservices with Access Token Preview 06:39
Introduction Preview 01:02
Creating Global Pre Filter Preview 03:51
Accessing Request Path and HTTP Headers Preview 03:32
Trying how Pre Filter Works Preview 03:49
Creating Global Post Filter Preview 03:05
Trying how the Post Filter works Preview 02:38
Defining Filters in a Single Class Preview 06:41
Ordering Global Filters Preview 06:42
Trying how ordered filters work Preview 02:22
Introduction to Spring Cloud Config Server Preview 04:03
Create Your Own Config Server Preview 02:53
Create Private GitHub Repository Preview 02:24
Naming Property Files Served by Config Server Preview 02:32
Configure Config Server to Access Private GitHub Repository Preview 02:46
Adding Properties File to Git Repository Preview 03:16
Configure Users Microservice to be a Client of Config Server Preview 07:24
Make Zuul Gateway a Client of Config Server Preview 02:18
Introduction to Spring Cloud Bus Preview 03:52
Add Spring Cloud Bus & Actuator Dependencies Preview 02:27
Enable the /bus-refresh URL Endpoint Preview 01:47
Download and Run Rabbit MQ Preview 03:20
Rabbit MQ Default Connection Details Preview 02:15
Trying how Spring Cloud Bus Works Preview 08:37
Change default Rabbit MQ Password Preview 03:29
Introduction to Spring Cloud Config File System as a Backend Preview 00:45
Setting up File System Backend Preview 04:51
Previewing Values Returned by Config Server Preview 01:41
Trying how Microservices work Preview 02:38
Introduction Preview 02:31
Shared and a Microservice specific properties Preview 07:01
Introduction to Spring Boot Actuator Preview 02:15
Add Spring Boot Actuator to API Gateway Preview 04:59
Trying How It Works Preview 05:02
Enable Actuator for Users Microservice Preview 05:51
Introduction Preview 01:00
Download and Install MySQL Preview 03:16
Start MySQL Server and Login Preview 06:14
Create MySQL Database And a New User Preview 06:25
Downloading and Installing MySQL Workbench Preview 03:02
Connect to MySQL Database using MySQL WorkBench Preview 05:26
MySQL WorkBench brief overview Preview 04:15
Configure MySQL Database Access Details Preview 09:48
Use H2 Console to Access MySQL Database Preview 02:48
Copy MySQL properties to a Config Server Preview 01:40
Introduction to Encryption and Decryption of Configuration Properties Preview 02:43
A note about Java Cryptography Extension(JCE) Preview 00:23
Add Java Cryptography Extension Preview 06:14
Symmetric Encryption of Properties Preview 08:50
Creating a Keystore for Asymmetric Encryption Preview 05:05
Asymmetric Encryption of Properties Preview 05:25
Introduction to Microservices Communication Preview 03:48
Albums Microservices Source Code Preview 00:08
Clone Source Code of Albums Microservice Preview 02:11
A walk through an Albums Microservice Preview 05:37
Implementing Get User Details Preview 05:43
Make Users Microservice call Albums Microservice Preview 10:25
Trying how it works Preview 03:59
Feign Web Service Client - Introduction Preview 01:32
Enable Feign in Spring Boot Project Preview 01:54
Create Feign Client Preview 05:07
Using Feign Client Preview 01:47
Trying How Feign Client Works Preview 03:11
Enable HTTP Requests Logging in Feign Client Preview 05:41
Handle FeignException Preview 04:36
Handle Response Errors with Feign Error Decoder Preview 12:57
Hystrix Circuit Breaker & Feign. Introduction. Preview 02:55
Configure Project to use Hystrix Circuit Breaker Preview 04:28
Trying How Hystrix Circuit Breaker & Feign work Preview 03:10
Error Handling with Feign Hystrix FallbackFactory Preview 11:05
Introduction to Distributed Tracing with Sleuth and Zipkin Preview 03:07
Add Spring Cloud Sleuth to Users Microservice Preview 04:12
Checking Trace ID and Span ID in a Console Preview 05:26
Startup Zipkin Server Preview 02:18
View Traces in Zipkin Preview 05:14
Introduction to Aggregating Log Files with ELK Stack Preview 02:04
Configure Microservices to Log into a File Preview 02:55
Download Logstash Preview 01:39
Configure Logstash to Read Log Files Preview 09:11
Download and Run Elasticsearch Preview 03:16
Run Search Query Preview 06:50
Download, Install and Run Kibana Preview 03:44
View Aggregated Logs in Kibana Preview 05:27
Configure Spring Security to Eureka Server Preview 02:15
Enable Web Security Preview 02:40
Configure Eureka Clients to use Username and Password Preview 03:10
Configure Eureka Service URL in Config Server Preview 04:19
Move Username and Password to Config Server Preview 04:00
Encrypting Username and Password Preview 06:03
Introduction to Running Microservices in Docker Containers Preview 07:59
Start up a new Linux Server on AWS EC2 Preview 14:56
Connect to EC2 Instance Preview 04:46
Docker Commands Used in this Video Course Preview 00:57
Install Docker on AWS EC2 Preview 01:51
Docker Hub Introduction Preview 01:57
Run RabbitMQ Docker Container Preview 09:12
Basic Docker Commands: Run, Stop, Start, Remove Containers and Images Preview 06:49
In this video lessons I explain how to use basic Docker commands to:
Run a new Docker container,
Stop running Docker container,
Remove Docker container,
Remove Docker Image
You can use my Docker Commands Cheat Sheet for reference: http://appsdeveloperblog.com/docker-commands-cheat-sheet/