YoVDO

Spring WebFlux Masterclass: Reactive Microservices [2024]

Offered By: Udemy

Tags

Microservices Courses MongoDB Courses Spring WebFlux Courses WebClient Courses

Course Description

Overview

Build Highly Responsive, Scalable, Efficient Microservices With Spring WebFlux and Reactive Programming

What you'll learn:
  • Spring WebFlux From Scratch
  • Reactive Microservices
  • Performance Comparison - Traditional vs Reactive
  • Achieving High Performance & Scalability With HTTP2
  • Streaming API With Back-Pressure
  • Reactive Relational DB Connectivity R2DBC
  • Server Sent Events
  • WebClient
  • Functional Endpoints
  • WebFilters / Interceptors
  • Integration Testing

Prerequisite: Knowledge on Reactive Programming.

Course Focus

This course provides a comprehensive introduction to Spring WebFlux, a framework for building highly scalable, resilient and responsive web applications using reactive programming principles.

What You'll Learn

  • Traditional vs Reactive APIs

    • How Reactive APIs are different from Traditional APIs.

  • Reactive Data Access R2DBC

    • Learn to connect to relational databases reactively using R2DBC drivers, create reactive repositories with Spring Data R2DBC, implement CRUD operations with reactive data access patterns, and effectively integration test your data access layer.

    • Running a throughput/efficiency test to demonstrate the power of R2DBC, its throughput and how it uses the system resources more efficiently compared to Spring Data JPA.

  • Building CRUD Operations

    • Master creating reactive controllers with Spring WebFlux annotations, handling requests and responses with Flux and Mono, integration testing your reactive controllers.

  • Error Handling Strategies

    • Discover techniques for managing exceptions within reactive pipelines using various operators. Learn how to return meaningful error responses for a robust user experience.

  • WebFilter/Interceptor Chaining

    • Explore how to implement WebFilters for pre-processing and post-processing requests and responses. Chain multiple WebFilters for complex logic, pass attributes from WebFilters to controllers, and share data effectively.

  • Functional Programming with WebFlux

    • Leverage the power of lambda expressions to write concise and readable code. Build reactive controllers with functional endpoints and understand the benefits of functional programming within WebFlux.

  • Building Reactive Clients

    • Learn to use WebClient to build reactive clients that consume external APIs using reactive streams and handle asynchronous responses efficiently in a non-blocking manner.

  • Streaming

    • Implement client-side streaming for uploading data as a stream using WebClient and explore backpressure handling for optimized data transfer.

    • Implement server-side streaming for downloading data as a stream using WebClient.

    • Implement Server-Sent Events (SSE) with Spring WebFlux to enable real-time data updates from server to client.

  • Optimizing for Performance

    • Gzip compression

    • HTTP connection pooling to optimize bandwidth usage and application scalability.

    • Leveraging HTTP/2 protocol for efficient communication (New!).

Integration Testing

Master integration testing with WebTestClient, combining testing practices into our learning process throughout the course.

Course Structure

  • Focus on practical code examples and demos tailored to each module's specific topic.

  • Hands-on labs to solidify your learning throughout the course.

  • Access to resources for further learning on both Spring WebFlux and prerequisite reactive programming concepts (articles, tutorials, official documentation).

By the end of this course, you'll be equipped with the knowledge and skills to build modern, performant, and scalable web applications using Spring WebFlux.

Note

A basic understanding of reactive programming is assumed as a prerequisite for this course.

Join this course to master Spring WebFlux and unlock the potential of reactive programming for developing highly performant and scalable microservices. Gain the skills necessary to build resilient, efficient, and real-time applications using Spring WebFlux's non-blocking and event-driven architecture.


Taught by

Vinoth Selvaraj

Related Courses

Designing Applications for Kubernetes
A Cloud Guru
Docker - Deep Dive
A Cloud Guru
Amazon API Gateway for Serverless Applications
Amazon Web Services via AWS Skill Builder
Amazon API Gateway for Serverless Applications (Simplified Chinese)(中文配音版)
Amazon Web Services via AWS Skill Builder
Amazon API Gateway for Serverless Applications (Traditional Chinese)
Amazon Web Services via AWS Skill Builder