Learn Reactive Programming from scratch! With Assignments & Quizzes! Reactive Programming is a programming style which deals with asynchronous data streams! A development model which focuses on observing data streams and reacting on changes and propagating them. You learn Reactive Programming to build Reactive Systems - a highly resilient distributed systems or Microservices! Modern applications support huge number of concurrent users. Most of the applications are CRUD in nature with a lots of time consuming / blocking IO operations which is wasting the system resources. Reactive programming helps us to write highly resilient and reusable code in an asynchronous, non-blocking & declarative style. With less system resources, we get a lot more work done. If you want to work on any of these, then this course is a prerequisite! Spring WebFluxRScoketKafka or Redis stream processingBy the end of this course, You would be comfortable with, Reactive Programming ConceptsAsynchronous & non-blocking operationsMono / Flux PublishersHandling Backpressure with various strategiesVarious Flux operatorsThreading & SchedulersSinks - Unicast, Multicast, ReplayHot & Cold PublishersCombining multiple publishers with concat, merge, zip, combineLatest etcBatching with Buffer, Window, GroupByRepeat & RetryUnit Testing with Step VerifierContextsImplementing business logic in declarative styleWriting highly resilient codeIt is MUSTfor Spring WebFlux. Implementing business logic in declarative styleWriting highly resilient codeBetter Error HandlingReactor Hooks / CallbacksParallel Stream Processing