MongoMultiMaster

Screenshot der Software:
MongoMultiMaster
Softwarebeschreibung:
Version: 0.0.4
Upload-Datum: 20 Feb 15
Entwickler: Rick Copeland
Lizenz: Frei
Popularität: 9

Rating: nan/5 (Total Votes: 0)

MongoMultiMaster ist ein Python-Tool, das Ihnen die Einrichtung Multi-Master-Replikation mit MongoDB & nbsp ermöglicht;. Es ist ausdrücklich nicht von 10gen unterstützt, den Machern von MongoDB.
Es funktioniert durch die Abfrage der oplog auf einer Replikat-Gruppe und der Durchführung ihrer Operationen zu einem anderen Replikat-Gruppe. Es unterstützt die bidirektionale Replikation durch Markierung jedes Dokument mit seiner Quelle repliziert.
Installation
Die Montage, Anwendung pip:
pip MongoMultiMaster installieren
MongoDB-Setup
MMM muss Zugriff auf die Replik oplog für jeden Master eingestellt. Das bedeutet, es nicht mit Servern, die als Standalone-Server konfiguriert sind, zu arbeiten. Um einen Standalone-Server zu einer Singleton-Replikat-Gruppe zu konvertieren, müssen Sie es über den Satz, es ist in beim Start die Zeit zeigen:
& Nbsp; mongod --replSet foo
Dann, um das Replikat-Gruppe zu starten, müssen Sie folgende an der Mongo Shell ausführen:
> Rs.initiate ()
MongoMultiMaster Replikationssetups
Sobald Sie die Replikat-Gruppe Master erstellt haben, müssen Sie MMM sagen, wo sich die Server. Dies wird durch eine YAML Konfigurationsdatei durchgeführt. Ein Beispiel-Konfigurationsdatei mit zwei Servern ist unten enthalten:
server_a:
& Nbsp; ID: '2c88ae84-7cb9-40f7-835d-c05e981f564d'
& Nbsp; uri: 'mongodb: // localhost: 27019'
server_b:
& Nbsp; ID: '0d9c284b-b47c-40b5-932c-547b8685edd0'
& Nbsp; uri: 'mongodb: // localhost: 27017'
Zuerst lassen Sie uns sicherstellen, dass es keine Konfiguration und dass wir auf alle Server in der Konfigurationsdatei an:
 mmm -c test.yml klar-config
Über den Config auf Servern zu löschen: ['server_a', 'server_b'], sind Sie sicher? (Yn) y
Klar Config für server_a
Klar Config für server_b
& Nbsp; mmm -c test.yml Dump-config
=== Serverkonfiguration ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_a Replication Config
=== Server_b Replication Config
Als nächstes werden wir zwei replizierten Sammlungen einzurichten:
& Nbsp; mmm -c test.yml replizieren --src = server_a / test.foo --dst = server_b / test.foo
& Nbsp; mmm -c test.yml replizieren --src = server_a / test.bar --dst = server_b / test.bar
Und bestätigen Sie sie richtig konfiguriert:
 mmm -c test.yml Dump-config
=== Serverkonfiguration ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_a Replication Config
=== Server_b Replication Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Nun, lassen Sie uns die Replikation bidirektionale:
& Nbsp; mmm -c test.yml replizieren --src = server_b / test.foo --dst = server_a / test.foo
& Nbsp; mmm -c test.yml replizieren --src = server_b / test.bar --dst = server_a / test.bar
Und sicherstellen, dass es korrekt ist ...
 mmm -c test.yml Dump-config
=== Serverkonfiguration ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_a Replication Config
& Nbsp; - test.foo <= server_b / test.foo
& Nbsp; - test.bar <= server_b / test.bar
=== Server_b Replication Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Jetzt können wir den Replikator:
& Nbsp; mmm -c test.yml Lauf
zu betrachten Sachen,
- Replikation kann ins Hintertreffen geraten, wenn Sie schriftlich eine Ware. Dies ist überhaupt nicht behandelt.
- Replikation beginnt zu dem Zeitpunkt, mmm Lauf erste hieß. Sie sollten in der Lage, Stopp / Start-mmm und ihn abholen, wo sie aufgehört zu sein.
- Konflikte zwischen Meister werden nicht behandelt; wenn Sie sich auf dasselbe Dokument schriftlich auf beiden Köpfe häufig, können Sie nicht mehr synchron zu bekommen.
- Replikation fügt eine Buchhaltung Feld in jedem Dokument, um den Server-UUID, die letzten schrieb das Dokument zu bedeuten. Dies erweitert die Größe der einzelnen Dokumente leicht.
Wahrscheinlich gibt es scharfe Kanten, andere verpasst Bugs und verschiedenen böse Dinge warten auf Sie, wenn Sie MMM in einem Produktionssystem zu verwenden, ohne gründliche Prüfung. . Aber wenn Sie mit einer Schere und ansonsten lebt gefährlich magst, um es auszuprobieren

Anforderungen :

  • Python

Ähnliche Software

RedQueryBuilder
RedQueryBuilder

28 Sep 15

SQLAntaresia
SQLAntaresia

14 Apr 15

nflgame
nflgame

20 Feb 15

Andere Software von Entwickler Rick Copeland

Ming
Ming

12 May 15

Zarkov
Zarkov

14 Apr 15

Kommentare zu MongoMultiMaster

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!