MongoDB Mehrere Meister im ReplicaSet
Ich habe eine Frage bezüglich mehrerer Master in einem replicaSet mit MongoDB. Ich habe Folgendes layout:
Server --> mit MongoDB & mehrere Anwendungen
Server B --> mit MongoDB & mehrere Anwendungen
Beide Instanzen von MongoDB sind organisiert in derselben Replikatgruppe (Server als Primären Server B als Sekundär). Aber jetzt gibt es das problem. Beide Datenbanken enthalten Daten von den Anwendungen auf dem server.
Ist es möglich, die Bereitstellung eines Replikat-Set mit zwei meistern, so dass die Daten von Server A steht in MongoDB auf Server B und Umgekehrt?
Vielen Dank im Voraus
InformationsquelleAutor DanielH | 2014-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Replikat-sets in MongoDB kann nur eine einzige master an dieser Stelle. (Nennt man die primäre von einer Replikatgruppe.) Für das Szenario, die Lösung ist oft die Verwendung einer sharded cluster. In deinem Beispiel hätte man zwei Scherben: eine für die Daten von server A und die andere für die Daten von server B, die Beide shards umgesetzt werden als replica-sets, so dass jeder hat ein minimum von drei Servern. Sie würden dann die primär-von der Eine Scherbe im selben data center, und der primäre von der B Splitter im data center B. mindestens ein Replikat jedes shard (sogenannten sekundären) würde sich in das andere Rechenzentrum.
Dies bedeutet, dass alle Daten in jedem Daten-center, aber schreibt das Ein Splitter immer passieren müssen, im data center, und schreibt in den B Splitter im Rechenzentrum B. (Obwohl schreibt kann auch Remote ausgeführt werden, so dass Sie schreiben können, um Splitter Einer vom Rechenzentrum B, es ist nur, dass es eine remote-schreiben in diesem Fall).
Ich glaube, Sie sind falsch in diesem Satz: "schreibt, das Ein Splitter immer passieren müssen, im data center, und schreibt in den B Splitter im Rechenzentrum B", weil die shard-cluster spezielle Splitter-Schlüssel für die Verteilung der Daten im gesamten cluster. Und Daten, die Sie eingefügt haben, auf Eine finden Sie auf B
InformationsquelleAutor drmirror
Kein MongoDB ist in single-master nur.
Der einzige Weg, um erstellen Sie zwei getrennte Repliken wie diese derzeit während der Synchronisation ist es manuell zu tun, aber das ist nicht ratsam.
Ich denke, wenn ich lese Recht, es ist noch nicht möglich, einfach nur ein Mitglied der Replikatgruppe können geschrieben werden, um die derzeit.
Ok, danke für deine Antwort. Es ist schade, aber nicht änderbar im moment
InformationsquelleAutor Sammaye
Seltsame Frage, die Replikation IST in der Tat dienen genau diesem Zweck: zum speichern der gleichen Daten Redundant auf verschiedenen Servern.
Wenn Sie es eingerichtet haben, können Sie BEREITS Ihr Ziel erreicht. Splitter hat wenig (wenn nicht gar nichts) zu tun und mit hoher Verfügbarkeit.
Brauchen Sie nicht Multi-Master-Konfiguration, wenn Sie haben auto-failover funktioniert. Für diese, stellen Sie sicher, dass Sie mindestens 3 Daten-Lager-Replik-Mitglieder oder 2+einen Schiedsrichter, für Sie bilden zu können Mehrheit und wählt einen neuen master im Falle dass, wenn der alte offline geht.
Vielleicht möchten Sie electionTimeoutMillis parameter für autofailover Kontrollen häufiger passieren.
Beim schreiben wichtige Daten zur DB, die Sie verwenden können, { w: "Mehrheit" } schreiben Sie Sorge, um sicherzustellen, dass Ihre änderungen auf die Mehrheit der Daten Lager-Servern und sind somit langlebig.
InformationsquelleAutor Anatoly Alekseev