Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Go 드라이버
/ /

클러스터 설정 사용자 지정

이 가이드 에서는 고 (Go) 운전자 클러스터를 관리하는 방법과 클러스터 설정을 사용자 지정하는 방법을 학습 수 있습니다.

Client 인스턴스 만들 때 연결 문자열 또는 ClientOptions 구조체를 사용하여 클러스터에 대한 설정을 지정할 수 있습니다. Connection String 또는 ClientOptions 탭 선택하여 사용 가능한 옵션을 확인합니다.

다음 표에서는 MongoDB cluster 와 상호 작용할 때 드라이버의 동작을 수정하기 위해 연결 문자열 에서 사용할 수 있는 매개변수에 대해 설명합니다.

Parameter
설명

serverSelectionTimeoutMS

오류가 발생하기 전에 운전자 서버 사용할 수 있을 때까지 기다리는 최대 시간을 지정합니다.

기본값: 30 초

localThresholdMS

서버 선택을 위한 최대 지연 시간 (밀리초)을 지정합니다.

기본값: 15 밀리초

replicaSet

연결한 복제본 세트의 이름을 지정합니다.

directConnection

복제본 세트 또는 샤딩된 클러스터 우회하여 단일 서버 에 직접 연결할지 여부를 지정합니다.

기본값입니다: false

loadBalanced

운전자 로드 밸런서 사용하여 MongoDB 에 연결하는지 여부를 지정합니다. true로 설정하다 하면 운전자 로드 밸런서 통해 연결하고 있다고 가정합니다.

다음 요구 사항을 충족하는 경우에만 이 옵션을 true로 설정할 수 있습니다.

  • 호스팅하다 이름을 하나만 지정합니다.

  • 복제본 세트 에 연결하지 않습니다.

  • srvMaxHosts 옵션이 설정되지 않았거나 0값을 가집니다.

  • directConnection 옵션이 설정되지 않았거나 false값을 가집니다.

기본값입니다: false

srvServiceName

Specifies the service name of the SRV resource records the driver retrieves to construct your seed list. You must use the DNS Seed List Connection Format in your connection string to use this option.

다음 표에서는 ClientOptions 구조체에 연결하여 드라이버의 동작을 수정할 수 있는 몇 가지 메서드를 설명합니다.

메서드
설명

SetServerSelectionTimeout()

오류가 발생하기 전에 운전자 서버 사용할 수 있을 때까지 기다리는 최대 시간을 지정합니다.

기본값: 30 초

SetLocalThreshold()

서버 선택을 위한 최대 지연 시간 (밀리초)을 지정합니다.

기본값: 15 밀리초

SetReplicaSet()

연결한 복제본 세트의 이름을 지정합니다.

SetDirect()

복제본 세트 또는 샤딩된 클러스터 우회하여 단일 서버 에 직접 연결할지 여부를 지정합니다.

기본값입니다: false

SetLoadBalanced()

운전자 로드 밸런서 사용하여 MongoDB 에 연결하는지 여부를 지정합니다. true로 설정하다 하면 운전자 로드 밸런서 통해 연결하고 있다고 가정합니다.

다음 요구 사항을 충족하는 경우에만 이 옵션을 true로 설정할 수 있습니다.

  • 호스팅하다 이름을 하나만 지정합니다.

  • 복제본 세트 에 연결하지 않습니다.

  • srvMaxHosts 옵션이 설정되지 않았거나 0값을 가집니다.

  • directConnection 옵션이 설정되지 않았거나 false값을 가집니다.

기본값입니다: false

SetSRVServiceName()

Specifies a custom service name of the SRV resource records the driver retrieves to construct your seed list. To use a custom SRV service name in SRV discovery, you must call this function before you call ApplyURI().

사용 가능한 메서드에 대해 자세히 학습하려면 API 설명서 섹션을 참조하세요.

해당 예시 보려면 Connection String 또는 ClientOptions 탭 선택합니다.

다음 코드는 연결 문자열 사용하여 최대 서버 선택 시간 제한을 10 초로, 로컬 임계값을 20 밀리초로 구성합니다.

const uri = "mongodb://localhost:27017/?serverSelectionTimeoutMS=10000&localThresholdMS=20"

다음 코드는 클라이언트 만들고 연결 문자열 ApplyURI() 메서드에 전달합니다.

client, err := mongo.Connect(options.Client().ApplyURI(uri))
if err != nil {
log.Fatal(err)
}

다음 코드는 클라이언트 생성하고 최대 서버 선택 시간 제한이 10 초이고 로컬 임계값이 20 밀리초인 클러스터 옵션을 설정합니다.

clientOptions := options.Client().
ApplyURI(uri).
SetServerSelectionTimeout(10 * time.Second).
SetLocalThreshold(20 * time.Millisecond)
client, err := mongo.Connect(clientOptions)
if err != nil {
log.Fatal(err)
}

이 가이드 의 메서드 및 유형에 대해 자세히 학습 다음 API 문서를 참조하세요.

돌아가기

네트워크 트래픽 압축

이 페이지의 내용