Programming reactive streams with RxJava : an introduction to observables, core API usage, error handling, backpressure, and schedulers (O'Reilly Media, 2017)
"Reactive and asynchronous applications are growing in popularity, but what is the best way to build them? This course, designed for software architects and intermediate- to advanced-level Java programmers, teaches you how to apply the latest concurrency techniques to develop state of the art Java applications. With the rise of microservices and service oriented architectures (SOAs), asynchronous concurrency is now critical in day-to-day Java development. This course builds upon theory offered in the associated "Asynchronous Programming in Java" course by refactoring several Java projects using RxJava. It explains the concepts behind this popular library, shows how RxJava compares with other concurrency concepts, and illustrates how to use the library productively in practice."--Resource description page