Stream, in a nutshell, is a potentially infinite sequence of data elements made available over time. Reactive stream goes a step further by being able to signal demand thus controlling the overall speed of data elements flowing through it. Because of its asynchronous nature, we can use reactive stream to model events that occur haphazardly. From incoming network connections to row records from a database query, handling events using reactive stream is extremely convenient and powerful.
In this talk, I will give an overview of the reactive stream implementations in Scala. I will cover the principles behind their design and their use cases. Understanding reactive streams is a very good addition to your programming repertoire and I wish this talk will provide a good start.