During the workshop, we are going to learn what is Reactive System and Reactive Programming, what is the main difference between those notions and how one can be achieved with another.
We will learn central patterns that lay in Reactive Programming, the evolution of Reactive Programming and how it looks today.
We will also cover Reactive Streams specification and one of the libraries built on top of it - Project Reactor 3.
1. The motivation behind Reactive. (Here we are going to look at different meanings of the word “reactive” and how reactive programming was evolving over time
2. Intro to Project Reactor (Short Story of Project Reactor and Reactive Types it has)
3. Project Reactor Essentials:At this point I’m covering the API every Project Reactor user should know in order to generate/transform Flux or Mono stream. Also, attendees are working on a set of exercises
- How to Create Flux and Mono (followed by exercises)
- How to Do essential transformations on a stream of data (followed by exercises)
4. Reactor Advanced:
- How to Deal with Multiple streams at a time (followed by exercises)
- How to Work with Multithreading (followed by exercises)
- How to Control Flow of elements (followed by exercises)
- How to Work with Resilience and handle Errors (followed by exercises)
- How to Work with Contextual Data (followed by exercises)
- How to Test (followed by exercises)
- How to Log, Debug and collect Metrics (followed by exercises)
5. Building a streaming application using Project Reactor, Reactor-Netty and R2DBC