Benötige ich unbedingt mindestens 3 Knoten/Server für einen Cassandra -Cluster oder reicht 2 aus?

StackOverflow https://stackoverflow.com/questions/2330562

Frage

Sicherlich kann man einen einzelnen Knotencluster ausführen, aber ich möchte, dass ein gewisses Maß an Fehlertoleranz.

Gegenwärtig kann ich es mir leisten, zwei Server (8 GB RAM, private vlan @1gige) zu vermieten, aber nicht 3.

Mein Verständnis ist, dass 3 Knoten das Minimum sind, das für einen Cassandra -Cluster benötigt wird, da zwischen zwei Knoten keine mögliche Mehrheit besteht und eine Mehrheit zur Lösung von Versionskonflikten erforderlich ist. Oh, warte, denke ich an "Vektoruhren" und Riak? Ack! Cassandra verwendet Zeitstempel für die Konfliktlösung.

Was ist für 2 Knoten die empfohlene Lesen-/Schreibstrategie? Sollte ich im Allgemeinen an alle (beiden) Knoten schreiben und aus einem (n = 2; w = n/2+1; w = 2/2+1 = 2) lesen? Cassandra wird angedeutet wie gewohnt auch für 2 Knoten verwenden, ja?

Diese 2 Server befinden sich im selben Rechenzentrum FWIW.

Vielen Dank!

War es hilfreich?

Lösung

Wenn Sie eine Verfügbarkeit eines RF = 2, CluterSize = 2 -Systems benötigen, können Sie nicht alle verwenden oder können nicht schreiben, wenn ein Knoten untergeht.

Aus diesem Grund empfehlen Menschen 3 Knoten anstelle von 2, denn dann können Sie Quorum Reads+schreiben und haben immer noch eine starke Konsistenz und Verfügbarkeit, wenn ein einzelner Knoten ausfällt.

Mit nur 2 Knoten können Sie auswählen, ob Sie eine starke Konsistenz (mit allen schreiben) oder die Verfügbarkeit angesichts eines einzelnen Knotenfehlers (mit einem schreiben), aber nicht beides. Wenn Sie mit einem Cassandra schreiben, wird es natürlich angedeutet, Handoff usw. nach Bedarf zu tun, um sie letztendlich konsistent zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top