Go mgo를 사용하여 MongoDB Atlas의 복제본 세트에 지속적으로 연결할 수 없는 서버
Golang mgo 라이브러리를 사용하여 MongoDB Atlas 복제본 세트에 연결하는 경우 , 때때로 "접속할 수 있는 서버 없음" 오류가 발생할 수 있습니다. 이 문제는 mgo DialInfo 구조체에서 사용자 정의된 DialServer 기능을 활용하여 해결할 수 있습니다.
다음 코드 조각은 사용자 정의 TLS 구성을 사용하여 복제본 세트에 대한 성공적인 연결을 설정하는 방법을 보여줍니다.
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)
이 코드에서:
또는 mgo.ParseURL() 메서드를 사용하여 MongoDB Atlas URI 문자열을 구문 분석할 수 있습니다. 그러나 현재 이 방법에서는 SSL이 지원되지 않습니다. 해결 방법은 구문 분석하기 전에 URI 문자열에서 ssl=true 줄을 제거하는 것입니다.
위 내용은 Go\의 mgo 라이브러리를 사용하여 MongoDB Atlas 복제본 세트에 연결할 때 \'접근 가능한 서버 없음\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!