Библиотека, о которой идет речь: https://github.com/Reactive-Extensions/RxJS
О концепции backpressure можно почитать в статье из этого топика
О том как строить приложения на стримах можно почитать здесь https://github.com/substack/stream-handbook.
However, there are a few drawbacks to the base implementation. Similar to Futures, failure handling can be problematic, in that there is no overall supervision that oversees what happens to events once they are processed—there is only a handler method you can implement. There is also concern about backpressure, or the ability to communicate backwards through the system that the application is saturated in load. If you need the ability to implement backpressure, you must do so yourself. And the same composability issues that existed with Iteratees are in play with Rx—if the application has a partial state that was gleaned from one event and then must be completed by another, it can be difficult to build the data if the events aren’t ordered or failure occurs.