SpringSource release asynchronous framework ‘Reactor’
SpringSource release asynchronous framework ‘Reactor’
SpringSource have released a “foundational framework” for asynchronous JVM applications called Reactor. Available on GitHub, it’s designed for event and data-driven applications that require very high throughput and will be used in upcoming big data project Spring XD.
SpringSource engineer Jon Brisbin, unveiling the
project
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
from “callback hell” in its client-side JavaScript, wrote Brisbin.
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
implementation of JavaScript.
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.
0 comments:
Post a Comment