It’s all about timing

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.

Photo by Andry Brill.

Elliot Bentley

What do you think?

JAX Magazine - 2014 - 05 Exclucively for iPad users JAX Magazine on Android

Comments

Latest opinions