Integration Resilient Design Patterns with Spring WebFlux
What you’ll learn
Advanced Spring WebFlux
Reactive Microservices
Circuit Breaker Pattern
Rate Limiter Pattern
Bulkhead Pattern
Timeout Pattern
Retry Pattern
Gateway Aggregator Pattern
Scatter Gather Pattern
Orchestrator Pattern
Splitter Pattern
Requirements
Knowledge on Reactive Programming
Knowledge on Spring WebFlux
Comfortable with Indian Accent ๐
Description
In this comprehensive course, you will dive into the world of design patterns and learn how to leverage them to build highly scalable and resilient reactive microservices using Spring WebFlux. You will explore various Integration Patterns that enable efficient communication between microservices, as well as Resilient Patterns that enhance the robustness of your services. By the end of this course, you will have a solid understanding of how to apply design patterns effectively and create reactive microservices that can handle complex workflows and withstand failures.Course Content:Integration Patterns:Handling multiple reactive microservices communication efficientlyGateway Aggregator Pattern: Reducing network latency and acting as a facade for complex backend servicesScatter Gather Pattern: Routing requests to multiple backend services and aggregating their responsesOrchestrator Pattern (Saga – for parallel workflow): Coordinating multiple backend services in complex workflowsOrchestrator Pattern (Saga – for sequential workflow): Managing sequential workflows by replacing chained microservice callsSplitter Pattern: Processing individual elements in a list of repeating elementsResilient Patterns:Building robust and resilient reactive microservicesTimeout Pattern: Handling unresponsive remote services by setting appropriate timeoutsRetry Pattern: Dealing with intermittent network or remote service issues by retrying failed requestsCircuit Breaker Pattern: Protecting services and meeting SLAs when dependent remote services are unhealthy or unreachableRate Limiter Pattern: Safeguarding services from DDoS attacks and controlling network call limitsBulkhead Pattern: Allocating resources based on priority to prevent one feature’s failure from affecting the entire applicationJoin this course to unlock the power of design patterns and learn how to build scalable, resilient, and highly performant reactive microservices with Spring WebFlux. Gain the skills necessary to tackle complex workflows, optimize communication between microservices, and ensure the robustness of your applications in the face of failures.
Overview
Section 1: Introduction
Lecture 1 [MUST WATCH]: What will you learn from this course?
Lecture 2 [Optional] – Reactive Series
Lecture 3 Source Code
Section 2: Gateway Aggregator Pattern
Lecture 4 Gateway Aggregator Pattern – Intro
Lecture 5 Jar Download
Lecture 6 External Services
Lecture 7 Project Setup
Lecture 8 Creating DTO
Lecture 9 Creating External Service Clients
Lecture 10 Aggregator Service
Lecture 11 Aggregator Controller
Lecture 12 Gateway Aggregator Pattern Demo
Lecture 13 Is our Aggregator resilient?
Lecture 14 Making Aggregator more resilient!
Lecture 15 Are we making parallel calls?
Lecture 16 Product Service error handling
Lecture 17 Summary
Section 3: Scatter Gather Pattern
Lecture 18 Scatter Gather Pattern – Intro
Lecture 19 External Services
Lecture 20 Creating DTO
Lecture 21 Creating Delta Service Client
Lecture 22 Creating JetBlue / Frontier Service Client
Lecture 23 Creating Service
Lecture 24 Creating Controller
Lecture 25 Scatter Gather Demo
Lecture 26 Summary
Section 4: Orchestrator Pattern (For Parallel Workflow)
Lecture 27 Orchestrator Pattern – Intro
Lecture 28 Orchestrator Scope
Lecture 29 External Services
Lecture 30 Creating DTO – Part 1
Lecture 31 Creating DTO – Part 2
Lecture 32 Creating Service Clients – Part 1
Lecture 33 Creating Service Clients – Part 2
Lecture 34 Orchestrator Request Context
Lecture 35 Util Class
Lecture 36 Orchestrator Pattern Implementation – High Level Architecture
Lecture 37 Payment Handler
Lecture 38 Inventory and Shipping Handlers
Lecture 39 Order Fulfillment Service
Lecture 40 Order Cancellation Service
Lecture 41 Order Orchestrator Service
Lecture 42 Debug Util
Lecture 43 Controller
Lecture 44 Orchestrator Demo
Lecture 45 Bug Fix
Lecture 46 Quick Note
Lecture 47 Summary
Section 5: Orchestrator Pattern (For Sequential Workflow)
Lecture 48 Sequential Workfkow – Intro
Lecture 49 External Services
Lecture 50 Project Setup
Lecture 51 Creating DTO
Lecture 52 Creating Service Clients
Lecture 53 Util Class
Lecture 54 Sequential Workflow – Architecture
Lecture 55 Sequential Workflow – Implementation – Part 1
Lecture 56 Sequential Workflow – Implementation – Part 2
Lecture 57 Sequential Workflow – Implementation – Part 3
Lecture 58 Sequential Workflow – Demo
Section 6: Splitter Pattern
Lecture 59 Splitter Pattern – Intro
Lecture 60 External Services
Lecture 61 Creating DTO – Part 1
Lecture 62 Creating DTO – Part 2
Lecture 63 Creating Service Clients
Lecture 64 Quick Note On Flux Requests
Lecture 65 [Courses] – For Streaming Requests and Responses
Lecture 66 Abstract Reservation Handler
Lecture 67 Car Reservation Handler
Lecture 68 Room Reservation Handler
Lecture 69 Reservation Service
Lecture 70 Controller
Lecture 71 Splittern Pattern – Demo
Section 7: Timeout Pattern
Lecture 72 Resiliency Pattern – Intro
Lecture 73 Timeout Pattern
Lecture 74 Project Setup
Lecture 75 Timeout Pattern Implementation
Lecture 76 Timeout Pattern Demo
Lecture 77 Summary
Section 8: Retry Pattern
Lecture 78 Retry Pattern – Intro
Lecture 79 External Services
Lecture 80 Project Setup
Lecture 81 Retry Pattern Implementation Demo
Lecture 82 4XX Issue Fix
Lecture 83 Quick Note On Retry Spec
Lecture 84 Summary
Section 9: Circuit Breaker Pattern
Lecture 85 Circuit Breaker Pattern – Intro
Lecture 86 Circuit Breaker Terminologies
Lecture 87 External Services
Lecture 88 Project Setup
Lecture 89 Maven Dependencies
Lecture 90 Resilience4j – Config
Lecture 91 Circuit Breaker Pattern Implementation
Lecture 92 Circuit Breaker Pattern Demo
Lecture 93 Overriding Configuration
Lecture 94 Summary
Section 10: Rate Limiter Pattern
Lecture 95 Rate Limiter Pattern – Intro
Lecture 96 Server Side Rate Limiter – Implementation
Lecture 97 Server Side Rate Limiter – Demo
Lecture 98 Client Side Rate Limiter – Implementation
Lecture 99 Summary
Section 11: Bulkhead Pattern
Lecture 100 Bulkhead Pattern – Intro
Lecture 101 Project Setup
Lecture 102 Problem Demo
Lecture 103 Why It happens?
Lecture 104 Bulkhead Pattern Implementation
Lecture 105 Summary
Section 12: Thank You
Lecture 106 Thank You
Any Developer / Architect who is interested in Microservice Development / Architecture with WebFlux
Course Information:
Udemy | English | 8h 28m | 2.44 GB
Created by: Vinoth Selvaraj
You Can See More Courses in the Developer >> Greetings from CourseDown.com