Reactive programming is more and more relevant, as concurrencies grows and data streaming becomes the favorite way to integrate with DBs and Web clients (repsponsive pages and IoT). The traditional 'Request-Oriented' way of handling client requests causes serious back-pressure and requires lot of computing power in order to supply enough threads. Reactive programming solves this MVC Controllers issue by splitting and forking requests in a transparent manner, which allows limited number of threads to handle multiple requests. This is mostly addresses the new ‘Reactor’ approach which also fully supported in HTTP.
This course explores the building blocks of Reactive Programming in general, and the need. The course then relates to Java 9 Flow API and focuses on practical reactive programming with Spring 5 WebFlux (Flux & Mono). The course allows you to define reactive services, use reactive REST web-services, work reactively with NoSQL (MongoDB) and consume reactive message streams from MQ (RabbitMQ).