2

Ich brauche MongoDB-Datenbanken in verschiedenen Rechenzentren. Eine MongoDB-Datenbank wird ein Master in einem Hauptdatenzentrum und andere sind Slaves in anderen Rechenzentren. Wie können wir eine neue Master-Datenbank in verschiedenen Rechenzentren zuordnen, wenn unsere Master-Datenbank im Hauptdatenzentrum ausfallen wird?Wie wird eine neue Master-Datenbank in einem geografisch verteilten MongoDB-Cluster zugewiesen?

+0

Sprechen Sie darüber, dass ein einzelnes Replikat zwischen Rechenzentren verteilt ist? Wenn dem so ist, glaube ich nicht, dass das eine sehr gute Idee ist. – Jestin

+0

Warum denkst du nicht? Wenn jemand etwas in die Datenbank in den USA schreibt, muss ich diesen Wert in Europa mit minimaler Latenz lesen können. Ist es eine schlechte Idee, Replikate in verschiedenen Rechenzentren zu haben? – Andru

+0

Knoten in Replikatsätzen müssen ständig Daten zwischen sich senden, um alle Knoten aktualisiert zu halten. Wenn diese Kommunikation über das Internet läuft, könnte dies die gesamte Replikatgruppe verlangsamen, insbesondere beim Schreiben. Wenn Ihre Datenanforderungen eher Lese- als Schreibvorgänge erfordern, wird es vielleicht nicht so schlimm sein. Vielleicht möchten Sie in Tag bewusst Sharding als eine Praxis zu betrachten: https://docs.mongodb.org/manual/core/sharding-introduction/#customized-data-distribution-with-tag-aware-sharding – Jestin

Antwort

1

Angenommen, Sie meinen ein verteiltes Replikat zwischen Rechenzentren, wählen die anderen Knoten einen neuen Master, wenn der Master fehlschlagen sollte.

Wenn Sie bevorzugen, welcher Knoten der neue Master werden soll, dann können Sie eine Präferenz für diesen Fall konfigurieren.

Ich schlage vor, lesen Sie den Abschnitt auf Replica set elections in den MongoDB Docs für weitere Informationen.