2014-04-27 3 views
7

Von dem, was ich gesehen habe, sind die Anwendungen von Hazelcast am häufigsten in Architekturen mit mehr als 50 Knoten gefunden. Ist es sinnvoll, Hazelcast auf einer Architektur mit 1 bis 4 Knoten zu verwenden? Wenn ja, was ist die beste Strategie, die ich bezüglich der Partitionen und der Haselcastinstanzen beachten sollte?Wie Partitionierung in Hazelcast funktioniert?

Angenommen, ich verwende Hazelcast nur auf einem Knoten! Wie viele Haselcastinstanzen sollte ich verwenden? und sollte ich die Partitionsstandardnummer so lassen, wie sie ist (271), oder wenn es besser ist, sie zu ändern, was sind die Faktoren, die ich berücksichtigen muss, um meine Entscheidung zu treffen.

Bitte jemand erleuchte mich auf diesem.

Antwort

4

Es hängt von Ihren Bedürfnissen ab :)

Was haselcast für z. Eine Map ist die Berechnung des Hash eines Schlüssels, macht eine Mod-Partitionsanzahl darauf und bestimmt die Partition, auf der der Schlüssel gespeichert wird.

Für einen einzelnen Knoten Setup kann Hazelcast sinnvoll sein, weil die Karte mehr als eine reguläre Karte bietet, aber ihr wahrer Wert ist mit einem Multinode (2 oder mehr).

Wir haben Kunden, die mit kleineren Clustern z. 5/6 Knoten. Selbst mit 2 Knoten erhalten Sie immer noch bestimmte Funktionen.

Über die Anzahl der Partitionen: Wir zielen darauf ab, dass die Partitionsgröße maximal 50/100 mb betragen sollte. Also mit 271 Partitionen erhalten Sie +/13 Gigs Daten (50mb). Wenn Sie 26 Gigs Daten haben, verdoppeln Sie die Anzahl der Partitionen.

+0

Zunächst einmal vielen Dank für Ihre Eingabe. Der Fall hier ist, dass ich hazelcast als ein im Speicher verteiltes Datenraster in Verbindung mit couchbase als persistentem Speicher verwenden werde. Also ich versuche herauszufinden, ob diese Kombination (Haselnuss auf 4 Knoten und Couchbase auf 30 etwas) etwas zu bieten hat. Ich habe mit MapStore einige Metriken mit Lese-/Schreib-Durchsatz gemacht und obwohl hazelcast schnell ist, ist die couchbase sogar noch schneller. Die Bedürfnisse sind sehr groß (Terabytes an Daten). –

+1

Wir stellen nur eine Schnittstelle MapStore zur Verfügung, so dass die tatsächliche Implementierung einen großen Teil der Gesamtleistung für die Karte darstellt. Ein weiterer wichtiger Faktor ist die Konfiguration, z. schreibe durch vs schreibe hinterher. Sie könnten eine Karte mit einer Synchronisierungssicherung verwenden (die auf mindestens einer anderen Maschine im Speicher garantiert ist), aber mit einem Writebehind-Mapstore. Also wird eines der Mitglieder den Schreibvorgang durchführen. Auf diese Weise können Sie mehr aus Ihrer MapStore-Leistung herausholen. – pveentjer

+0

Danke nochmal. Eine abschließende Frage: Ich habe eine couchbase-Verbindungsinstanz. Verwenden die Partitionen diese Instanz unabhängig und schreiben sie gleichzeitig oder warten sie, bis eine Partition fertig ist, damit die nächste fortfahren kann? –