Ich habe ein funktionierendes MongoDB "Replica Set" bestehend aus 3 Servern. Es speichert zwei DBs, ich frage mich, ob es möglich ist, nur einen der DBs zu replizieren, ohne mehr als eine mongoDB-Instanz zu betreiben (eine pro DB).
Hier ist eine Skizze des "Problems"
%Vor%X steht für Server, auf dem DBs repliziert werden müssen.
danke
Ich glaube nicht, dass es möglich ist.
Anders als beim Sharding, bei dem Sie bis auf die Ebene collection angeben, was mit Shards versehen wird, definieren Sie mit den Replikat-Sets eine bestimmte MongoDB -Instanz ist Teil eines Replikatsatzes. Da nur ein Knoten in einem Replikatsatz zu jedem Zeitpunkt der Master sein kann, würde basierend auf dem Szenario, über das Sie sprechen, ein Problem auftreten, wenn z. Server1 ist ausgefallen und Server3 wurde zum Master hochgestuft - da DB2 dann nicht mehr beschrieben werden kann.
Ich hatte ein ähnliches Problem und fand eine ziemlich einfache Lösung in Javascript, um in einer Mongo-Shell ausgeführt zu werden.
Quellcode hier verfügbar: Ссылка
Mit dem Öffnen eines koppelbaren Cursors auf dem oplog des Master-Servers kann jede Operation auf einen anderen Server angewendet werden (natürlich können Sie nach dem Namensraum der Sammlungen oder sogar nach den Datenbanken filtern ...)
Tags und Links mongodb replication