In einer MongoDB-Replikatgruppe: Muss der Master-Knoten von Clients aus zugänglich sein? Oder sekundäre Knoten leiten Schreibabfragen an den Master-Knoten weiter?Muss der mongodb-Master-Knoten von Clients aus erreichbar sein?
Antwort
Alle Ihre Knoten müssen von Clients aus erreichbar sein. Auf diese Weise wird Ihre Anwendung weiterhin funktionieren, wenn der primäre Computer ausfällt und ein sekundärer Computer auf den primären Computer hochgestuft wird.
Die sekundären Knoten werden keine Schreibanforderungen an den primären Knoten übermitteln. Um Schreibvorgänge auszuführen, müssen Sie direkt mit dem Master-Knoten verbunden sein.
Die oben genannten Antworten sind nicht zu 100% korrekt.
1) Wenn Sie sich in einer Sharded-Umgebung befinden, müssen die Clients in der Lage sein, mit dem mongos-Prozess zu kommunizieren, der dann mit den PRIMARY-Knoten (und den Konfigurationsservern) kommuniziert vom PRIMARY mongodb server in einem Replikat-Set konnten sie jedoch mit den mongos-Prozessen kommunizieren, die dann mit dem PRIMARY mongodb-Server kommunizieren konnten.
2) Ein anderer Benutzer bemerkte, dass "alle Ihre Knoten von Clients aus zugänglich sein müssen", während im Allgemeinen nicht immer wahr, in einer Situation, in der Sie eine sekundäre sekundäre in einem separaten Datenzentrum nur Mitglieder des Replikat festgelegt haben musste fähig, mit dem verzögerten sekundären zu kommunizieren; Die Anwendungsserver müssen jedoch nie mit ihm kommunizieren.