Reactive Microservices With Spring Webflux
Last updated 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.79 GB | Duration: 9h 46m
Last updated 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.79 GB | Duration: 9h 46m
Build highly scalable and resilient Microservices with Spring WebFlux / Reactive Stack
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
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 2.6 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