In-Memory Data Grid: Hazelcast 3.10 bietet neuen ID-Generator

Der neue FlakeIdGenerator verspricht eindeutige IDs auch in verteilten Umgebungen. Hazelcast IMDG stellt außerdem erstmals eine CRDT-Implementierung zu Verfügung (Conflict-Free Replicated Data Types).

In Pocket speichern vorlesen Druckansicht
In-Memory Data Grid: Hazelcast 3.7 ist schneller und modular
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Das In-Memory Data Grid liegt ab sofort in der für den Produktionsbetrieb freigegebenen Version Hazelcast IMDG 3.10 vor. Das Release wartet mit einigen neuen Funktionen auf, die Hazelcast auf Anregung der Community umgesetzt hat. Um auch in verteilten Umgebungen die Vergabe von eindeutigen IDs sicherzustellen, steht Anwendern des In-Memory Data Grid der neue FlakeIdGenerator zur Verfügung. Anders als die bisherige ID-Generator-Implementierung kommt der FlakeIdGenerator ohne konkrete Koordination der Hazelcast Member aus, sodass auch bei Netzwerkpartitionierungsfehlern oder fehlenden Verbindungen zwischen den Cluster-Teilen (Split Brain) eindeutige IDs erzeugt werden können.

Um im Fall von simultanen Updates das Zeitfenster für inkonsistente Schreib- und Lesevorgänge in Split-Brain-Situationen möglichst kurz zu halten, haben die Hazelcast-Macher die Split-Brain-Schutzfunktion des IMDG weiter optimiert. Bisher wurden nur IMap, ICache, IQueue and ILock aktiv geschützt, ab Version 3.10 arbeitet die Schutzfunktion auch mit ISet, IList, ISemaphore, ICountDownLatch, IReplicatedMap, IAtomicLong, IExecutorService, IDurableExecutorService, IScheduledExecutorServicem, IMultiMap, IRingBuffer, CardinalityEstimator (HyperLogLog) und IAtomicReference.

Die Split-Brain-Schutzfunktion deckt darüber hinaus auch den CRDT PN-Counter ab. Dabei handelt es sich um die erste CRDT-Implementierung (Conflict-Free Replicated Data Types) für das In-Memory Data Grid. Der PN-Counter ist ein Zähler (mit vergrößer- und verkleinerbarem Wert) für Operationen, der konsistente lokale Updates auf den Hazelcast Member sicherstellen soll. Weitere CRDTs sollen je nach Bedarf der Community in späteren Releases ergänzt werden.

Anregungen und Vorschläge für weitere Ergänzungen können beispielsweise über den Gitter Channel eingereicht werden. Eine vollständige Übersicht aller Neuerungen in Hazelcast IMDG 3.10 findet sich in den Release Notes sowie im GitHub Repository des Open Source In-Memory Data Grid. (map)