Reactive Microservices with Spring WebFlux

Build highly scalable and resilient Microservices with Spring WebFlux / Reactive Stack
Reactive Microservices with Spring WebFlux
File Size :
3.83 GB
Total length :
9h 48m

Category

Instructor

Vinoth Selvaraj

Language

Last update

4/2023

Ratings

4.6/5

Reactive Microservices with Spring WebFlux

What you’ll learn

Spring WebFlux
Reactive Microservices
Spring Data Reactive MongoDB
Spring Data R2DBC
Server Sent Events
3 Microservices Development From Scratch
WebClient
Functional Endpoints

Reactive Microservices with Spring WebFlux

Requirements

Knowledge on Spring Boot
Knowledge on Reactive Programming
Comfortable with Indian Accent 🙂

Description

Spring WebFlux is a reactive non-blocking web stack which provides better performance compared to traditional Spring Web MVC! Check out the performance comparison as part of the FREE preview to learn more!We build 3 Microservices from scratch & Integrate in this course (Checkout first lecture as part of preview for more details)! By the end of this course you would be comfortable with:Spring WebFlux Exposing Reactive Restful APIs ( all the GET / POST / PUT / DELETE )Controller annotationException Handling with @ControllerAdvice @ExceptionHandlerQuery Params with WebFluxFunctional endpointsExposing APIs in programmatic wayRouter Function and Router ConfigSpring Data Reactive MongoDBAll the CRUD operations with Reactive MongoDB driverMicroservice Development: Creating Product-Service which is responsible for managing productsSpring Data R2DBCAll the CRUD operations with Reactive Relational DB driverMicroservice Development: Creating User-Service which is responsible for Managing users WebClientA Reactive REST Template for making non-blocking async HTTP requestsHandling headers / cookies / request / responseAttributesException HandlingAccessing Streaming API using WebClientExchange vs RetrieveMicroservice Development: Creating Order-Service which contacts user-service and product-service for order fulfillment.Server Sent Events (SSE)Exposing streaming API to provide real time updates to the userPush notifications from back-end to front-endDeveloping front-end using HTML / Bootstrap / JavaScriptMiscellaneousMaking Microservices more resilient using retry patternHandling error using onErrorReactive ManifestoHow Netty worksHow to Handle blocking drivers/APIs with WebFlux

Overview

Section 1: Introduction

Lecture 1 What Are You Going To Learn?

Lecture 2 [THEORY] – Need For WebFlux

Lecture 3 [DEMO] – Performance Comparison: Web vs WebFlux

Lecture 4 [THEORY] – Reactive Manifesto

Lecture 5 [Optional] – Reactive Series

Section 2: Resources

Lecture 6 Source Code

Section 3: Spring WebFlux

Lecture 7 Introduction

Lecture 8 How Netty Works

Lecture 9 Project Setup

Lecture 10 Simple Math Service – DTO

Lecture 11 Simple Math Service – Service Class

Lecture 12 Simple Math Service – Controller

Lecture 13 Reactive Math Service

Lecture 14 Reactive Math Controller

Lecture 15 Reactive Math Service – DEMO

Lecture 16 WebFlux – Exposing Streaming API

Lecture 17 What happens when subscriber cancels!

Lecture 18 Flux API When Streaming Not Enabled

Lecture 19 Using Reactive Pipeline

Lecture 20 WebFlux – POST API

Lecture 21 Request Header

Lecture 22 Exception Handling – Custom Exception

Lecture 23 Exception Handling – Controller Advice

Lecture 24 Exception Handling – Demo

Lecture 25 Exception Handling – Reactive Error Signal

Lecture 26 Simple Assignment

Lecture 27 Assignment Solution

Lecture 28 Summary

Section 4: Functional Endpoints

Lecture 29 Introduction

Lecture 30 Router Config

Lecture 31 Router Handler

Lecture 32 Exposing Flux Via Functional Endpoint

Lecture 33 Streaming Endpoint

Lecture 34 POST API

Lecture 35 Exception Handling

Lecture 36 Path Based Routing Config

Lecture 37 Request Predicates

Lecture 38 Assignment

Lecture 39 Assignment Solution

Lecture 40 Summary

Section 5: WebClient

Lecture 41 Introduction

Lecture 42 WebClient Bean

Lecture 43 GET Mono Endpoint

Lecture 44 Step Verifier – Quick Refresh

Lecture 45 GET Mono Refactor

Lecture 46 GET Flux Endpoint

Lecture 47 GET Flux Streaming Endpoint

Lecture 48 POST Request

Lecture 49 Setting Request Header

Lecture 50 Handling Bad Request

Lecture 51 Exchange vs Retrieve

Lecture 52 Query Params

Lecture 53 Setting Auth Token

Lecture 54 Attributes

Lecture 55 Assignment

Lecture 56 Assignment Solution

Lecture 57 Summary

Section 6: Spring Data Reactive MongoDB

Lecture 58 High Level Architecture – Reactive Microservices

Lecture 59 Product-Service – Introduction

Lecture 60 Note On Spring Data Reactive MongoDB

Lecture 61 Project Setup

Lecture 62 [Product-Service] – Packages

Lecture 63 [Product-Service] – DTO & Entity & Repository

Lecture 64 [Product-Service] – Entity DTO Util

Lecture 65 Entity-DTO – Mapper Performance Comparison

Lecture 66 [Product-Service] – Service Layer – Part 1

Lecture 67 [Product-Service] – Service Layer – Part 2

Lecture 68 [Product-Service] – Service Layer – Part 3

Lecture 69 [Product-Service] – Controller with CRUD Operations

Lecture 70 [Product-Service] – Application Properties

Lecture 71 [SpringBoot 3.X UPDATE]

Lecture 72 [Product-Service] – CRUD Demo

Lecture 73 Note On MongoDB

Lecture 74 Assignment

Lecture 75 Assignment Solution

Lecture 76 Installing MongoDB

Lecture 77 Setting Up MongoDB

Lecture 78 End To End Testing With MongoDB

Lecture 79 [Product-Service] – Data Setup

Lecture 80 Additional Material On Spring Data Reactive MongoDB

Section 7: Spring Data R2DBC

Lecture 81 Introduction

Lecture 82 R2DBC Drivers

Lecture 83 Note On R2DBC

Lecture 84 Project Setup

Lecture 85 [User-Service] – DTO

Lecture 86 [User-Service] – Entity

Lecture 87 [User-Service] – Repository

Lecture 88 [User-Service] – Entity DTO Util

Lecture 89 [User-Service] – Service Layer

Lecture 90 [User-Service] – Controller

Lecture 91 [User-Service] – User Balance Update – R2DBC with @Query

Lecture 92 [User-Service] – Transaction DTO Util

Lecture 93 [User-Service] – Transaction Service

Lecture 94 Transaction Management

Lecture 95 [User-Service] – Transaction Controller

Lecture 96 R2DBC Drivers

Lecture 97 R2DBC Properties

Lecture 98 [Quick Note] – R2DBC property update

Lecture 99 Tables Creation

Lecture 100 [User-Service] – CRUD DEMO

Lecture 101 [User-Service] – DELETE User Issue Fix

Lecture 102 Assignment

Lecture 103 Assignment Solution

Lecture 104 [OPTIONAL] – Postgres Install

Lecture 105 [OPTIONAL] R2DBC With Postgres

Section 8: Reactive Microservices

Lecture 106 Introduction

Lecture 107 Project Setup

Lecture 108 [Order-Service] – Packages

Lecture 109 [Order-Service] – DTO

Lecture 110 DTO Best Practices

Lecture 111 [Order-Service] – Entity

Lecture 112 [Order-Service] – Repository

Lecture 113 [Order-Service] – Application Properties

Lecture 114 [Order-Service] – Product Client

Lecture 115 [Order-Service] – User Client

Lecture 116 [Order-Service] – Order Fulfillment Service – Part 1

Lecture 117 [Order-Service] – Order Fulfillment Service – Part 2

Lecture 118 [Order-Service] – Order Fulfillment Service – Part 3

Lecture 119 [Order-Service] – Order Fulfillment Service – Part 4

Lecture 120 [Order-Service] – Controller

Lecture 121 [Order-Service] – Order Query Service

Lecture 122 [Order-Service] – DEMO

Lecture 123 [RESILIENT] – Handling Service Unavailability

Lecture 124 [RESILIENT] – Handling Intermittent Service Issues Part 1

Lecture 125 [RESILIENT] – Handling Intermittent Service Issues Part 2

Lecture 126 Resilient Design Patterns

Lecture 127 Assignment

Lecture 128 Assignment Solution

Section 9: Server Sent Events (SSE)

Lecture 129 Introduction

Lecture 130 Sink Config

Lecture 131 Pushing Item Via Sink

Lecture 132 Exposing Event Stream

Lecture 133 Streaming API DEMO

Lecture 134 Bootstrap Links

Lecture 135 Creating Front-End – Part 1

Lecture 136 Creating Front-End – Part 2

Lecture 137 Price Filter Implementation

Lecture 138 SSE – DEMO

Section 10: Unit / Integration Testing

Lecture 139 WebTestClient – Introduction

Lecture 140 Creating Simple Test with WebTestClient

Lecture 141 Fluent Assertion

Lecture 142 @WebFluxTest

Lecture 143 Why Mocking?

Lecture 144 List Response

Lecture 145 Streaming Response

Lecture 146 Passing Parameters

Lecture 147 Post Test

Lecture 148 Controller Advice

Lecture 149 Router Function

Lecture 150 WebTestClient – Bind To Server

Lecture 151 Summary

Section 11: Reactive Course Series

Lecture 152 Reactive Course Series

Section 12: Thank You

Lecture 153 Thank You!

Section 13: Bonus Section / Articles

Lecture 154 R2DBC – Entity Callback

Lecture 155 Spring WebFlux – File Upload Example

Lecture 156 Spring WebFlux Security

Any Developer / Architect who is interested in Microservice Development / Architecture with WebFlux

Course Information:

Udemy | English | 9h 48m | 3.83 GB
Created by: Vinoth Selvaraj

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top