2016-07-22 26 views
1

Ich habe ein MongoDB-Replikat mit 3 Knoten eingerichtet. Alle Server befinden sich in derselben VPC, jedoch in unterschiedlichen Verfügbarkeitszonen. Dank der Datei, während ich beschreibe, wo die anderen Knoten zu finden sind, kann mein Replikatsatz zwischen den Knoten kommunizieren. Meine etc/hosts Datei sieht auf allen 3 Knoten so aus.Sollte ich Hostname oder IP-Adresse für mongodb Verbindungszeichenfolge verwenden

127.0.0.1 localhost mongo0.example.com 
Private IP 1 mongo0.example.com 
Private IP 2 mongo1.example.com 
Private IP 3 mongo2.example.com 

Nun muss der App-Server eine Verbindung mit dem Replikatsatz herstellen. Sollte ich die IP-Adressen der Knoten in der Verbindungszeichenfolge verwenden oder sollte ich die Hostnamen verwenden?

mongodb://private_ip1:27017,private_ip2:27017,private_ip3:27017/dbname?replicaSet=rs0 oder mongodb://mongo0.example.com:27017,mongo1.example.com:27017,mongo2.example.com:27017/dbname?replicaSet=rs0

Wenn es die letzteren (Host-Namen) ist, sollte ich konfigurieren die /etc/hosts App-Server wie jeder der Mongo Knoten?

Antwort

1

Die Verwendung der IP-Adresse ist normalerweise eine schlechte Idee, da sie oft geändert werden müssen. Wenn es möglich wäre, würde ich bei Hostnamen bleiben.

Und ja, Sie müssen sicherstellen, dass alle Replikat-Mitglieder und alle App-Server oder Client-Maschinen die Namen auflösen können (mit/etc/Hosts, falls erforderlich).

Siehe auch this thread für eine ausführlichere Erklärung.