Hazelcast hat am 12. April 2018 Hazelcast Jet 0.6 angekündigt. Die Ausgabe erweitert die Pipeline-API für verteilte Datenverarbeitung um Streaming mit Zeitfenstern. Solche zustandsbehafteten Operationen waren zuvor nur über die tiefer liegende Core-API zugänglich.
Neue Knoten werden erst nach dem Neustart genutzt
Weitere Knoten konnten bereits einem laufenden Cluster beitreten, ohne dass bestehende Jobs ihre zusätzliche Rechenkapazität nutzten. Version 0.6 ergänzt dafür job.restart(). Nach diesem manuellen Neustart arbeitet der Job auf dem erweiterten Cluster. Bei konfiguriertem At-least-once oder Exactly-once stellt er seinen Zustand aus dem letzten verfügbaren Snapshot wieder her. Das ist keine automatische Skalierung eines unverändert laufenden Jobs.
Zustandsbehaftete Map-, Flat-Map- und Filter-Operationen können einen wiederverwendbaren Kontext erhalten. Ein neuer Builder vereinfacht eigene Ausgabesenken. Aktualisierende und zusammenführende Map-Senken ändern bestehende Einträge, statt sie stets zu überschreiben. Die Job-Verwaltung unterstützt außerdem Namen.
API-Migration und aktualisierte Abhängigkeiten
Die historischen Release Notes zu Version 0.6 dokumentieren Änderungen an Paketnamen und Gruppierungsoperationen. Zum Abbrechen eines Jobs dient nun Job.cancel() statt Job.getFuture().cancel(). Die Ausgabe aktualisiert Kafka auf 1.0.0 und Hadoop auf 2.8.3 und ergänzt Spring-Konfiguration per Annotationen oder XML.
Für Java 9 nennt Hazelcast erfolgreiche Builds und automatische Modulnamen. Als eingebettete Hazelcast-Version verwendet Jet 0.6 zunächst 3.10-BETA-2. Die stabile Ausgabe 3.10 ist zum Ankündigungszeitpunkt erst für eine spätere Jet-Version vorgesehen.
Für Backend-Teams sind Datenverarbeitung und Betriebsanalyse unterschiedliche Aufgaben: Kayenta bewertet Messwerte bei schrittweisen Software-Rollouts, Jet verarbeitet Datenströme. Ein Einsatz von Jet in einem konkreten Spielestudio ist durch die hier verwendeten Quellen nicht belegt. Der Beitrag beschreibt den Versionsstand vom April 2018.

