Asynchrone Programmierung: Reactor 2.0 erreicht ersten Meilenstein

Diana Kupfer

Spring goes reactive – und das mittlerweile seit fast anderthalb Jahren: 2013 stellte SpringSource Reactor vor, ein neues Framework zur Programmierung asynchroner Anwendungen. Die erste Major-Version war im November 2013 erreicht. Fast ein Jahr später kündigt Pivotal nun das erste Meilenstein-Release für Reactor 2.0 an.

Reactive Streams

An Bord befindet sich eine Implementierung der Reactive-Streams-Spezifikation, die in diesem Jahr von einer gemeinsamen Initiative der Unternehmen Typesafe, Red Hat, Netflix, Pivotal, Oracle, Twitter und spray.io erstmals vorgestellt wurde. Diese Initiative zielt darauf ab, gemeinsame Standards zur asynchronen Streamverarbeitung auf der Java Virtual Machine zu erarbeiten.

Mit seinen komplett überarbeiteten Stream- und Promise-APIs ist Reactor 2.0.0.M1 nun mit anderen Reactive-Streams-Implementierungen wie Akka Streams, Ratpack oder RxJava integrierbar. Der Reactive-Streams-Standard ermöglicht eine asynchrone Stream-Verarbeitung mit nicht-blockierendem „Gegendruck“ (non-blocking backpressure). Kurz gefasst geht es dabei um eine Umkehr des Publisher-Subscriber-Prinzips: Statt passiv und uneingeschränkt Daten vom Publisher zu empfangen, fragt der Subscriber den Publisher aktiv nach spezifischen Daten. Auf diese Weise empfängt der Subscriber nie mehr Daten, als er verarbeiten kann. Eine Pufferung ist somit nicht mehr nötig.

Detailliert werden die Neuerungen im Stream API in einem Blogpost von Jon Brisbin beschrieben, in dem sich auch Links zu den Repositories befinden.

Reactor Pattern

Der Name des Reactor Frameworks leitet sich vom Reactor Pattern ab, bei dem ein Selector entscheidet, welche Events von welchem Consumer behandelt werden, wie es Eberhard Wolff in einem JAXenter-Artikel über Reactor beschreibt.

Kaum ein halbes Jahr nach Gründung der Reactive-Streams-Initiative scheint sich deren Spezifikation bereits als De-facto-Standard etabliert zu haben. 

Geschrieben von
Diana Kupfer
Diana Kupfer
Diana Kupfer war Redakteurin bei S&S Media für die Zeitschriften Java Magazin, Eclipse Magazin und das Portal JAXenter. 
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.