SpringSource release asynchronous framework Reactor
New JVM framework is designed for event and data-driven applications – but is it too late to compete with Atmosphere and Vert.x?
released a “foundational framework” for asynchronous JVM
applications called Reactor.
GitHub, it’s designed for event and data-driven applications
that require very high throughput and will be used in upcoming big
SpringSource engineer Jon Brisbin, unveiling the
on the company’s blog, described Reactor as “a set of tools to
not just develop but compose applications in a way that
more efficiently uses system resources”.
Since the primary purpose of asynchronous frameworks
is to provide high scalability and speed, and it should come as no
surprise that one key selling point of Reactor is its impressive
I/O. Brisbin said that “on modest hardware, it’s possible to
process over 15,000,000 events per second with the fastest
non-blocking Dispatcher”. Optional use of lambdas, to be introduced
in Java 8 next year, provides even higher throughput.
In addition, many asynchronous applications suffer
Reactor is said to be designed to significantly reduce this type of
messy nested code.
However, Reactor is somewhat late to the asynchronous
framework party: the JVM alone boasts the Atmosphere framework and
Vert.x, the latter of which is now backed by the Eclipse
Foundation. All are heavily inspired by node.js, which has won
praise for its event-driven, asynchronous server-side
Members of SpringSource clarified in the comments that
Vert.x – which sister company VMware was
accused of hanging onto after its creator left – was not a
competitor of Reactor, since “Reactor isn’t providing a full async
stack for web development”. However, it may be difficult to gain
traction in an increasingly-crowded space.
Photo by Andry