개요
이 가이드 에서는 고 (Go) 운전자 클러스터를 관리하는 방법과 클러스터 설정을 사용자 지정하는 방법을 학습 수 있습니다.
설정 지정
새 Client 인스턴스 만들 때 연결 문자열 또는 ClientOptions 구조체를 사용하여 클러스터에 대한 설정을 지정할 수 있습니다. Connection String 또는 ClientOptions 탭 선택하여 사용 가능한 옵션을 확인합니다.
다음 표에서는 MongoDB cluster 와 상호 작용할 때 드라이버의 동작을 수정하기 위해 연결 문자열 에서 사용할 수 있는 매개변수에 대해 설명합니다.
Parameter | 설명 |
|---|---|
| 오류가 발생하기 전에 운전자 서버 사용할 수 있을 때까지 기다리는 최대 시간을 지정합니다. 기본값: 30 초 |
| 서버 선택을 위한 최대 지연 시간 (밀리초)을 지정합니다. 기본값: 15 밀리초 |
| 연결한 복제본 세트의 이름을 지정합니다. |
| 복제본 세트 또는 샤딩된 클러스터 우회하여 단일 서버 에 직접 연결할지 여부를 지정합니다. 기본값입니다: |
| 운전자 로드 밸런서 사용하여 MongoDB 에 연결하는지 여부를 지정합니다. 다음 요구 사항을 충족하는 경우에만 이 옵션을
기본값입니다: |
| 운전자 시드 목록 구성하기 위해 검색하는 SRV 리소스 레코드의 서비스 이름을 지정합니다. 이 옵션을 사용하려면 연결 문자열에 DNS 시드 목록 연결 형식 을 사용해야 합니다. |
| 드라이버 오버로드 오류를 반환하는 서버 우선순위를 낮추어 오버로드된 동일한 서버 에서 재시도할 가능성을 줄일지 여부를 지정합니다. 기본값입니다: |
| 드라이버 서버 측 과부하 오류로 실패한 작업을 다시 시도하는 최대 횟수를 지정합니다. 기본값입니다: |
다음 표에서는 ClientOptions 구조체에 연결하여 드라이버의 동작을 수정할 수 있는 몇 가지 메서드를 설명합니다.
메서드 | 설명 |
|---|---|
| 오류가 발생하기 전에 운전자 서버 사용할 수 있을 때까지 기다리는 최대 시간을 지정합니다. 기본값: 30 초 |
| 서버 선택을 위한 최대 지연 시간 (밀리초)을 지정합니다. 기본값: 15 밀리초 |
| 연결한 복제본 세트의 이름을 지정합니다. |
| 복제본 세트 또는 샤딩된 클러스터 우회하여 단일 서버 에 직접 연결할지 여부를 지정합니다. 기본값입니다: |
| 운전자 로드 밸런서 사용하여 MongoDB 에 연결하는지 여부를 지정합니다. 다음 요구 사항을 충족하는 경우에만 이 옵션을
기본값입니다: |
| 운전자 시드 목록 구성하기 위해 검색하는 SRV 리소스 레코드의 사용자 지정 서비스 이름을 지정합니다. SRV 검색에서 사용자 지정 SRV 서비스 이름을 사용하려면 |
| 드라이버 오버로드 오류를 반환하는 서버 우선순위를 낮추어 오버로드된 동일한 서버 에서 재시도할 가능성을 줄일지 여부를 지정합니다. 기본값입니다: |
| 드라이버 서버 측 과부하 오류로 실패한 작업을 다시 시도하는 최대 횟수를 지정합니다. 기본값입니다: |
사용 가능한 메서드에 대해 자세히 학습하려면 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 문서
이 가이드 의 메서드 및 유형에 대해 자세히 학습 다음 API 문서를 참조하세요.