


Wie kann der Fehler „Kein erreichbarer Server' beim Herstellen einer Verbindung zu MongoDB Atlas Replica Sets mit der mgo-Bibliothek von Go behoben werden?
Nov 28, 2024 pm 07:38 PMPersistent No Reachable Server to Replica Set in MongoDB Atlas with Go mgo
Beim Herstellen einer Verbindung zu einem MongoDB Atlas-Replikatset mithilfe der Golang MGO-Bibliothek , kann manchmal der Fehler „Kein erreichbarer Server“ auftreten. Dieses Problem kann durch die Nutzung einer angepassten DialServer-Funktion in der mgo-DialInfo-Struktur gelöst werden.
Der folgende Codeausschnitt zeigt, wie eine erfolgreiche Verbindung zu einem Replikatsatz mithilfe benutzerdefinierter TLS-Konfigurationen hergestellt wird:
import ( "gopkg.in/mgo.v2" "crypto/tls" "net" ) tlsConfig := &tls.Config{} dialInfo := &mgo.DialInfo{ Addrs: []string{"prefix1.mongodb.net:27017", "prefix2.mongodb.net:27017", "prefix3.mongodb.net:27017"}, Database: "authDatabaseName", Username: "user", Password: "pass", } dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { conn, err := tls.Dial("tcp", addr.String(), tlsConfig) return conn, err } session, err := mgo.DialWithInfo(dialInfo)
In diesem Code:
- tlsConfig wird mit allen erforderlichen TLS initialisiert Konfiguration.
- dialInfo wird mit den Replikatsatz-Mitgliedsadressen, dem Datenbanknamen, dem Benutzernamen und dem Passwort konfiguriert.
- DialServer wird angepasst, um eine TLS-geschützte Verbindung zu jedem Server einzurichten.
- Schließlich stellt mgo.DialWithInfo mithilfe des bereitgestellten Dials eine Verbindung zum Replikatsatz her Informationen.
Alternativ kann die Methode mgo.ParseURL() zum Parsen der MongoDB Atlas-URI-Zeichenfolge verwendet werden. Allerdings wird SSL derzeit von dieser Methode nicht unterstützt. Eine Problemumgehung besteht darin, die Zeile ssl=true vor dem Parsen aus der URI-Zeichenfolge zu entfernen.
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Kein erreichbarer Server' beim Herstellen einer Verbindung zu MongoDB Atlas Replica Sets mit der mgo-Bibliothek von Go behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Linter und statische Analyse -Tools verwenden, um die Qualität und Wartbarkeit meines GO -Codes zu verbessern?
