Interview mit Heiko Seeberger

Reactive Streams – Reif für die große weite Welt?

Redaktion JAXenter

Vor kurzem erst ist die 1.0.0-Version des Joint-Venture-Projekts Reactive Streams veröffentlicht worden. Ziel der organisatorisch leitenden Reactive Special Interest Group, der u.a. Typesafe, Red Hat, Netflix, Pivotal und Twitter angehören, ist eine neuer Standard für reaktive Datenverarbeitung auf der JVM. Wir haben Heiko Seeberger, Senior Software Engineer bei Typesafe und Moderator des diesjährigen JAX-Reactive-Days, nach seiner Einschätzung zu dem Projekt gefragt.

JAXenter: Was ist deiner Meinung nach am Projekt Reactive Streams in technischer Hinsicht bemerkenswert?

Heiko Seeberger: Zunächst finde ich es aus organisatorischer Sicht außerordentlich bemerkenswert, dass die Reactive-Streams-Initiative von zahlreichen Parteien gemeinsam getragen wird. Neben Akka – mit Akka Streams – unterstützen u.a. auch MongoDB, Ratpack, Reactor, RxJava, und Vert.x die Spezifikation von Reactive Streams 1.0.0.

In technischer Hinsicht sind für mich zwei Aspekte hervorzuheben. Erstens das rigorose Bekenntnis zu Asynchronizität und Back-Pressure, also Paradigmen, die für klassische Enterprise-Architekturen zwar disruptiv sind, für zukunftsträchtige Systeme meiner Meinung nach jedoch unverzichtbar. Zweitens bin ich beeindruckt, dass die Interoperabilität zwischen Implementierungen von Reactive Streams nicht nur ein Lippenbekenntnis ist, sondern hervorragend funktioniert.

JAXenter: In welchen Anwendungen kann Reactive Streams sinnvollerweise zum Einsatz kommen, wofür ist es nicht geeignet?

Heiko Seeberger: Wie schon gesagt basieren Reactive Streams auf Asynchronizität, so dass sie für jedes System, welches dem Reactive Manifesto folgt, für ein high-level stream-basiertes API gut geeignet sind. Durch das adaptive Push-Pull-Modell mit Back-Pressure wird sichergestellt, dass sowohl mit langsamen Produzenten, als auch mit langsamen Konsumenten ressourcenschonend umgegangen wird. Aus dem Gesagten folgt auch, dass Systeme, die nicht asynchron funktionieren, nicht für Reactive Streams geeignet sind.

JAXenter: Welche Herangehensweise im Umgang mit Reactive Streams würdest du interessierten Entwicklern empfehlen?

Heiko Seeberger: Reactive Streams und deren Implementierung sind Open Source, also frei verfügbar. Daher sollte es ein Leichtes sein, sich mit der Materie bekannt zu machen. Dabei stehen wie gesagt verschiedene Implementierungen zur Verfügung, so dass hoffentlich für jeden Geschmack etwas dabei sein sollte. Ich selbst empfehle natürlich Akka Streams, z.B. mit dem „Akka Streams with Scala“ Activator-Template.

JAXenter: Die Version 1.0.0 ist jetzt erschienen. Wie schätzt du den Status und perspektivisch die Produktionsreife des Projekts ein?

Heiko Seeberger: Ich konnte die Entstehungsgeschichte von Reactive Streams und Akka Streams verfolgen. Nach meiner Einschätzung haben sich alle Beteiligten sehr viel Mühe gegeben, die Version 1.0.0 von Reactive Streams absolut produktionsreif zu machen. Dasselbe kann ich über Akka Streams sagen, welches ich selbst in den letzten 10 Monaten intensiv verwendet habe, um damit – und mit dem darauf aufbauenden Akka HTTP – ein kommerzielles Produkt zu entwickeln. Das heißt natürlich nicht, dass Reactive Streams oder Akka Streams perfekt wären, aber ich bin ehrlich davon überzeugt, dass diese Technologien reif für den Einsatz in der großen weiten Welt sind.

 

Heiko Seeberger ist als Senior Software Engineer für Typesafe tätig. Er ist Scala-Enthusiast, seit er 2008 diese wundervolle Sprache kennengelernt hat. Sein großes Interesses am Distributed Computing führte ihn im Jahr 2010 als Contributor zum Akka-Projekt. Heiko hat mehr als 15 Jahre Erfahrung in der Beratung und Software-Entwicklung auf der Java-Plattform, trägt aktiv zu Projekten aus der Scala-Community bei und gibt seine Expertise regelmäßig in Form von Artikeln und Vorträgen weiter. Er ist außerdem Autor des Scala-Buches „Durchstarten mit Scala“. Heiko twittert unter @hseeberger und bloggt unter blog.heikoseeberger.name.

Verwandte Themen:

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: