Was ist die Mindestanzahl an Servern für einen Produktions-MongoDB-Cluster?

10

In der mongoDB-Dokumentation für eine Produktionsclusterarchitektur habe ich gelesen, dass die Mindestanzahl an Servern für einen laufenden mongoDB-Produktionscluster 7 beträgt:

MongoDB-Cluster-Architektur

Ist es möglich, die Router, Konfigurationsserver und Shards auf denselben Servern zu teilen (mit jeweils 3 Servern mit jeweils einem Router-, Konfigurations- und Shard-Dienst)?

Matte
quelle
1
IIRC, Sie können den Shard und die Konfiguration auf denselben Instanzen ausführen, und der Router wird auf Ihren vorhandenen App-Servern ausgeführt, sodass Sie wirklich einen sicheren Produktionscluster auf drei Servern haben können.
Ceejayoz
Vielen Dank! Ich verwende einen Load Balancer, um meine Cluster auszugleichen und ein Failover durchzuführen. Kann ich ihn auch für meinen MongoDB-Cluster verwenden? Ich benötige einen Cluster mit drei Knoten, der auf allen drei Knoten vollständig repliziert ist, also einen Shard auf drei Masterknoten (alle Knoten müssen Abfragen und Aktualisierungen akzeptieren). Wäre es möglich?
Mat

Antworten:

12

Die Mindestanzahl beträgt 1 Server. Wenn Sie unter "Produktion" "fehlertolerant" verstehen, beträgt die Mindestanzahl 3: Sie haben einen Replikatsatz mit 3 Servern. Die Konfigurationsserver werden auch auf diesen Servern ausgeführt. Wenn Sie "horizontale Skalierung" einschließen möchten, dh "Web-Skalierung!" Außerdem beträgt die Mindestanzahl 9: Sie haben 2 Shards, die aus Replikatsätzen von 3 Servern und 3 weiteren Servern als Konfigurationsserver bestehen. Wenn Sie Ihre App einschließen, nicht nur Mongodb, fügen Sie Ihre beiden App-Server für insgesamt 11 zum Mix hinzu (es geht um 11!).

Grundsätzlich interpretieren Sie dieses Bild auf zwei Arten falsch: Ihre App-Server sind nicht Teil eines Mongodb-Clusters, und die Shards (grüne Kästchen) sind Replikatsätze, die mindestens 3 Server enthalten.

Mark Wagner
quelle
Hallo Markus, ich komme auf dieses Argument zurück, weil ich eine Frage habe zu: Ich meine einen fehlertoleranten MongoDB-Cluster. Ich verstehe, dass 9 Server erforderlich sind, wenn MongoDB auch als Load Balancer fungieren soll. Was aber, wenn ich drei Replikatsätze erstelle und HAProxy als Load Balancer verwende, wie ich es bei MariaDB mit Galera mache?
Mat