Akka 2.4.0 mit verbessertem Akka Persistence-Modul

Michael Thomas

Akka-Logo (© Akka)

Akka verspricht die Entwicklung nebenläufiger, verteilter und fehlertoleranter Anwendungen auf der JVM. Aktuell liegt das quelloffene Aktoren-Framework in einer neuen Nebenversion vor: Akka 2.4.0 bringt zahlreiche Änderungen des Moduls Akka Persistence mit sich und ist binär abwärtskompatibel zu Akka 2.3.x.

Akka 2.3 stand ganz im Zeichen von Java 8 (so wurde die Nutzung von Lambda-Ausdrücken für die Implementierung von Aktoren ermöglicht) und einer neuen generischen API für das Event- und Command-Sourcing. Akka 2.4.0 schlägt nun in eine ähnliche Kerbe: Ab sofort ist Java 8 zwingend erforderlich, Java 6 und Java 7 werden nicht länger unterstützt. Das selbe Schicksal hat auch Scala 2.10 ereilt, hinzugekommen ist hingegen der Support von Scala 2.12 (2. Meilenstein).

Eine weitere prominente Neuerung: Das bislang experimentelle Modul Akka Persistence genießt nun den Status eines vollständig unterstützten Moduls. Im Zuge dieses Schritts wurden zahlreiche Änderungen umgesetzt. So wurde mit Akka Persistence Query ein experimentelles asynchrones, streambasiertes Abfrageinterface hinzugefügt, das Akka Persistence ergänzen soll. Des Weiteren wurde die Fehlerbehandlung robuster gemacht. Zudem können nun mehrere verschiedene Journals innerhalb eines ActorSystem verwendet werden.

Mit dem experimentellen Modul Akka Typed (Codename Project Gålbma) wurde eine neue Möglichkeit hinzugefügt, Aktoren-Interaktionen mit vollständigem Typsystem-Support zu formulieren (bislang allerdings nur für Scala verfügbar). Das ebenfalls experimentelle Modul Akka Distributed Data (vormals Akka Data Replication) kann für das Teilen von konfliktfreien replizierten Datentypen (CRDTs) zwischen den Knoten eines Akka-Clusters genutzt werden.

Als bedeutsamstes neues Feature von Akka 2.4.0 ist nach Ansicht der Entwickler jedoch der Umstand zu nennen, dass es binär abwärtskompatibel mit Akka 2.3.x ist, d. h. Applikationen und Bibliotheken, die mit Akka 2.3.x gebaut wurden, funktionieren auch ohne Rekompilierung mit Akka 2.4.x. Es existieren jedoch einige wenige Einschränkungen, die, inklusive einer Beschreibung aller weiteren Neuerungen, in den ausführlichen Release Notes nachgelesen werden können. Um den Umstieg noch weiter zu erleichtern, steht zudem ein hilfreicher Migration Guide zur Verfügung.

Was ist Akka?

Akka ist ein quelloffenes Toolkit für die Entwicklung nebenläufiger, verteilter, ausfallsicherer, ereignisgetriebener Anwendungen auf der JVM, wobei sowohl Java als auch Scala zum Einsatz kommen können. Akka wurde mit dem Ziel entworfen, Software zu bauen, die den Anforderungen der heutigen Zeit – namentlich Mobile, Cloud, Multicore, massive Nutzung, Interaktivität in Echtzeit – stand hält. Dabei kommen sogenannte Aktoren zum Einsatz, die Messages über eine ereignisgetriebene Empfänger-Schleife asynchron abarbeiten. Seit seiner Gründung im Jahr 2010 konnte Akka eine lebendige Community um sich versammelt; in diesem Jahr heimste es den JAX-Award in der Kategorie „Most Innovative Open Technology“ ein.

Akka ist einer der wichtigsten Bausteine der reaktiven Plattform, die von Typesafe vorangetrieben wird. Weitere Einsichten in das Framework bietet das Interview mit dem Akka-Gründer und Typesafe-CTO Jonas Bonér zum Gewinn des JAX-Award sowie das Interview mit Roland Kuhn (Technical Lead bei Akka).

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: