Create Efficient Reactive Systems

Reactor is a fourth-generation reactive library, based on the Reactive Streams specification, for building non-blocking applications on the JVM

Reactive Core

Reactor is fully non-blocking and provides efficient demand management. It directly interacts with Java's functional API, CompletableFuture, Stream, and Duration.

Non-Blocking IO

Well-suited for a microservices architecture, Reactor offers backpressure-ready network engines for HTTP (including Websockets), TCP, and UDP.

Efficient Message Passing

Reactor operators and schedulers can sustain high throughput rates, on the order of 10's of millions of messages per second. Its low memory footprint goes under most radars. Reactor Core is the first reactive library based on the joint reactive research effort also implemented by RxJava 2.

A Micro Reactive Toolkit for All

Don't write Reactive Streams yourself! Reactor's modules are embeddable and interoperable. They focus on providing rich and functional Reactive Streams APIs. You can use Reactor at any level of granularity:

Guardians of the Latency

Scaling out is an important tool for overcoming latency and slow microservices. Cloud native apps and serverless functions have a better chance at effective scale-out with asynchronous architectures. To assist in asynchronous designs, Reactor offers non-blocking and backpressure-ready network runtimes, including local TCP/HTTP/UDP clients and servers, based on the robust Netty framework.