Wir haben mongodb Replikat mit 3 Instanzen gesetzt, wobei sich Primary im Datencenter D1 und sekundäre Knoten im Datencenter D2 befindet. Wir benötigen keine Failover-Option in unserem Setup und konfigurieren es wie unter https://docs.mongodb.com/manual/tutorial/configure-secondary-only-replica-set-member/ beschrieben.Lesen von sekundärem mongodb-Knoten, wenn keine Verbindung mit primärer
Eine Anwendung "A", die auf sekundären Knoten im selben Datencenter D2 ausgeführt wird, verwendet mongoose, und wir haben angegeben (mit den Optionen "nearest" oder "secondary"), die Daten von den sekundären Knoten zu lesen.
Wir stehen vor diesen Problemen:
1) Ist es möglich, „A“, um von einem bestimmten sekundären Knoten zu lesen, ohne in dem in den Verbindungskonfigurationen Angabe der Primär mongoDB Knoten ist?
2) Wie können wir die "A" -Anwendung weiterhin vom Sekundärknoten lesen lassen, wenn die Verbindung zwischen den Datencentern D1 und D2 unterbrochen ist, sodass der MongoDB Primärknoten nicht mehr erreichbar/sichtbar ist? Soweit ich es verstehe, funktioniert es nicht, weil selbst das "A" konfiguriert ist, um von einem sekundären zu lesen, das mongoDB muss noch eine Art Ping/Arbitraging zwischen primären und sekundären durchführen, bevor der eigentliche Lesevorgang ausgeführt werden kann.
3) Ist es möglich/empfohlen, eine Anwendung im Datacenter D2 zu haben, die Schreibvorgänge direkt von der mongodb Replica-Set Primären Instanz als Standalone-Instanz durchführt und nicht als Teil von Replica-Set?
Ausführungen: mongodb 3.2.9, mungo 4.5.9