Java Reactive Streams

Nuwan Zen
Jul 4, 2021

Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.

Photo by Syed Rifat Hossain on Unsplash

In a synchronous application if a the second application is slowing down it directly blocks the main application.

Hence asynchronous programming came in. It will avoid blocking the main thread and do the work in background so that main thread can continue with the rest.

Problem with this is if main app creates more tasks than the second app can handle, second method had to buffer them.

To solve this issues Reactive issues came in. It does all asynchronously but if a publisher cannot slow down, publisher has to decide whether to buffer, drop, or fail. That is Reactive streams introduce back pressure if asynchronously task handling limits are exceeded.

--

--

Nuwan Zen

Sometimes A software Engineer, sometimes a support engineer, sometimes a devops engineer, sometimes a cloud engineer :D That’s how the this life goes!