개요
이 페이지에서는 C 드라이버 에서 사용할 수 있는 연결 옵션과 이를 MongoDB 연결에 적용하는 방법을 설명합니다.
연결 옵션 지정 방법
다음 섹션에서는 연결 옵션을 지정하는 방법에 대해 설명합니다.
연결 문자열 사용
연결 문자열 monogoc_client_t 구조에 전달하는 경우 string에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시 에서 연결 문자열 값이 60000 인 connectTimeoutMS 옵션과 값이 true인 tls 옵션이 포함되어 있습니다.
mongoc_init(); // Specifies the connection options in the connection string const char *uri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true"; // Creates a new client mongoc_client_t *client = mongoc_client_new_from_uri_with_error(uri, &error); if (!client) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Use client... cleanup: mongoc_client_destroy(client); mongoc_uri_destroy(uri);
연결 문자열에 지정할 수 있는 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 연결 문자열 옵션 을 참조하세요.
URI 옵션 API 사용
URI 옵션을 사용하여 연결 문자열 아닌 코드에서 연결 설정을 구성할 수 있습니다. 이러한 방식으로 연결을 구성하면 런타임에 설정을 더 쉽게 변경할 수 있고, 컴파일 중에 오류를 포착하는 데 도움이 되며, 연결 문자열 보다 더 많은 구성 옵션을 제공할 수 있습니다.
URI 옵션을 사용하여 연결 옵션을 설정하다 하려면 다음 단계를 수행합니다.
연결 문자열 사용하여
mongoc_uri_t구조체 만들기URI 옵션 함수를 사용하여 원하는 연결 옵션 지정
URI를 다음에 전달하여 URI로 새 클라이언트 만듭니다.
mongoc_client_new_from_uri()
다음 코드 예시 앞의 단계를 수행하는 방법을 보여줍니다.
mongoc_uri_t *uri = mongoc_uri_new_with_error("mongodb+srv://localhost:27017/", &error); if (!uri) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Specifies the connection options by using the URI options API if (!mongoc_uri_set_option_as_int32(uri, MONGOC_URI_CONNECTTIMEOUTMS, 60000)) { fprintf(stderr, "Failed to set '%s'\n", MONGOC_URI_CONNECTTIMEOUTMS); goto cleanup; } if (!mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true)) { fprintf(stderr, "Failed to set '%s'\n", MONGOC_URI_TLS); goto cleanup; } // Creates a new client client = mongoc_client_new_from_uri_with_error(uri, &error); if (!client) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Use client... cleanup: mongoc_client_destroy(client); mongoc_uri_destroy(uri);
연결 옵션
다음 섹션에서는 C 드라이버에서 사용할 수 있는 연결 옵션과 연결 문자열 또는 URI 옵션을 직접 사용하여 지정하는 방법에 대해 설명합니다.
복제본 세트 옵션
직접 연결
모든 작업을 호스팅하다에 강제 디스패치할지 여부를 지정합니다. 이 옵션을 지정하면 드라이버가 SRV 연결 형식을 허용하지 않습니다. 대신 표준 연결 URI 형식을 사용해야 합니다. SRV 연결 및 표준 연결 형식에 대한 자세한 학습은 연결 문자열 가이드를 참조하세요.
기본값 은 false입니다. 호스팅하다 이름을 두 개 이상 지정하는 경우 이 속성 false (으)로 설정하다 해야 합니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb://localhost:27017/?directConnection=true");
복제본 세트
연결할 복제본 세트의 이름입니다. 기본값은 null입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?replicaSet=yourReplicaSet");
직접 연결
모든 작업을 호스팅하다에 강제 디스패치할지 여부를 지정합니다. 이 옵션을 지정하면 드라이버가 SRV 연결 형식을 허용하지 않습니다. 대신 표준 연결 URI 형식을 사용해야 합니다. SRV 연결 및 표준 연결 형식에 대한 자세한 학습은 연결 문자열 가이드를 참조하세요.
기본값 은 false입니다. 호스팅하다 이름을 두 개 이상 지정하는 경우 이 속성 false (으)로 설정하다 해야 합니다.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_DIRECTCONNECTION, true);
복제본 세트
연결할 복제본 세트의 이름입니다. 기본값은 null입니다.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_REPLICASET, "yourReplicaSet");
TLS 옵션
TLS 활성화
서버 연결에 TLS를 요구할지 여부를 지정합니다. "mongodb+srv" 체계를 사용하거나 다른 TLS 옵션을 지정하는 경우 이 옵션의 기본값은 true입니다. 그렇지 않으면 기본값은 false입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true");
안전하지 않은 TLS 허용
TLS 제약 조건을 최대한 완화할지 여부를 지정합니다. 여기에는 유효하지 않은 인증서 또는 호스트 이름 불일치를 허용하는 것이 포함될 수 있습니다. 기본값 은 false입니다.
다음 코드 예시 이 옵션을 true로 설정하다 방법을 보여줍니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsAllowInvalidCertificates=true");
TLS 비활성화 인증서 해지 확인
TLS 핸드셰이크 중 인증서 해지 확인을 비활성화할지 여부입니다. 기본값 은 false입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsDisableCertificateRevocationCheck=true");
SSL 옵션
클라이언트 인증서, 해지 처리, TLS/SSL 프로토콜 활성화 및 비활성화를 포함한 TLS/SSL 옵션. 기본값 은 null입니다.
이 옵션은 URI 옵션을 통해서만 설정하다 수 있습니다. SSL 옵션을 설정하다 방법을 학습 MongoC URI Option 탭 아래의 SSL 옵션 섹션을 참조하세요.
TLS 활성화
서버 연결에 TLS를 요구할지 여부를 지정합니다. "mongodb+srv" 체계를 사용하거나 다른 TLS 옵션을 지정하는 경우 이 옵션의 기본값은 true입니다. 그렇지 않으면 기본값은 false입니다.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true);
안전하지 않은 TLS 허용
TLS 제약 조건을 최대한 완화할지 여부를 지정합니다. 여기에는 유효하지 않은 인증서 또는 호스트 이름 불일치를 허용하는 것이 포함될 수 있습니다. 기본값 은 false입니다.
다음 코드 예시 이 옵션을 true로 설정하다 방법을 보여줍니다.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSINSECURE, true);
TLS 비활성화 인증서 해지 확인
TLS 핸드셰이크 중 인증서 해지 확인을 비활성화할지 여부입니다. 기본값 은 false입니다.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSDISABLECERTIFICATEREVOCATIONCHECK, true);
SSL 옵션
클라이언트 인증서, 해지 처리, TLS/SSL 프로토콜 활성화 및 비활성화를 포함한 TLS/SSL 옵션. 기본값 은 null입니다.
SslSettings.CheckCertificateRevocation 가 false 로 설정하다 있고 AllowInsecureTls 가 true로 설정하다 되어 있으면 C 운전자 예외가 발생합니다.
mongoc_client_t *client; mongoc_ssl_opt_t ssl_opts = {0}; ssl_opts.pem_file = "/path/to/client-cert.pem"; ssl_opts.pem_pwd = "password"; ssl_opts.ca_file = "/path/to/ca.pem"; ssl_opts.allow_invalid_hostname = false; mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true"); client = mongoc_client_new_from_uri(uri); mongoc_client_set_ssl_opts(client, &ssl_opts);
TLS 옵션에 대한 자세한 내용은 TLS(전송 계층 보안) 구성 가이드 참조하세요.
타임아웃 옵션
ConnectTimeout
운전자 시간이 초과되기 전에 서버 에 대한 단일 TCP 소켓 연결을 설정하려고 시도하는 시간입니다. 기본값 은 10 초입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?connectTimeoutMS=60000");
소켓 타임아웃
운전자 시간이 초과되기 전에 소켓에서 전송 또는 수신을 시도하는 시간입니다. 기본값 은 운영 체제에서 설정하다 .
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketTimeoutMS=60000");
압축 옵션
연결 풀 옵션
maxPoolSize
운전자 연결 풀 에서 만들 수 있는 최대 클라이언트 또는 연결 수입니다. 이 수에는 사용 중인 연결이 포함됩니다. 기본값 은 100입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?maxPoolSize=150");
대기열 시간 초과
운전자 시간이 초과되기 전에 서버의 연결 풀 에서 연결을 체크아웃하려고 시도하는 시간입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?waitQueueTimeoutMS=30000");
최대 연결 풀 크기
운전자 연결 풀 에서 만들 수 있는 최대 클라이언트 또는 연결 수입니다. 이 수에는 사용 중인 연결이 포함됩니다. 기본값 은 100입니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_MAXPOOLSIZE, 150)
mongoc_client_pool_t 구조를 사용하여 최대 연결 풀 크기를 설정하다 수도 있습니다.
mongoc_client_pool_t *pool = mongoc_client_pool_new(uri); // Specifies max pool size mongoc_client_pool_max_size(pool, 150);
대기열 시간 초과
운전자 시간이 초과되기 전에 서버의 연결 풀 에서 연결을 체크아웃하려고 시도하는 시간입니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WAITQUEUETIMEOUTMS, 30000);
연결 풀에 대해 자세히 학습 연결 풀 가이드 참조하세요.
쓰기 고려 옵션
w
쓰기 고려 (write concern) 의 w 구성 요소로, 쓰기 (write) 작업이 지정된 수의 MongoDB 인스턴스로 전파되었음을 확인 요청합니다. 기본값 은 중재자 및 투표 노드 수에 따라 "majority" 또는 1입니다. w 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 쓰기 고려 를 참조하세요.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?w=2");
w 시간 초과
쓰기 고려 (write concern) 의 wtimeoutms 구성 요소로, 쓰기 고려 (write concern) 대한 시간 제한을 지정합니다. wtimeout 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 쓰기 고려 를 참조하세요.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?wTimeoutMS=5000");
Journal
쓰기 고려 (write concern) 의 j 구성 요소로, MongoDB 인스턴스가 디스크 저널 에 기록했다는 확인을 요청합니다. 기본값 은 writeConcernMajorityJournalDefault 설정의 값에 따라 달라집니다. j 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 쓰기 고려 를 참조하세요.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?journal=true");
w
쓰기 고려 (write concern) 의 w 구성 요소로, 쓰기 (write) 작업이 지정된 수의 MongoDB 인스턴스로 전파되었음을 확인 요청합니다. 기본값 은 중재자 및 투표 노드 수에 따라 "majority" 또는 1입니다. w 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 쓰기 고려 를 참조하세요.
MONGOC_URI_W 옵션을 사용하여 w 을 설정하다 수 있습니다.
// Use the int32 version of the mongoc_uri_t set function to set integer values mongoc_uri_set_option_as_int32(uri, MONGOC_URI_W, 2); // Use the utf8 version of the mongoc_uri_t set function to set string values mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_W, "majority");
mongoc_write_concern_t 구조를 사용하여 w 를 설정하다 수도 있습니다.
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets w=2 mongoc_write_concern_set_w(write_concern, 2); mongoc_client_set_write_concern(client, write_concern);
w 시간 초과
쓰기 고려 (write concern) 의 wtimeoutms 구성 요소로, 쓰기 고려 (write concern) 대한 시간 제한을 지정합니다. wtimeout 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 쓰기 고려 를 참조하세요.
MONGOC_URI_WTIMEOUTMS 옵션을 사용하여 wtimeoutms 을 설정하다 수 있습니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WTIMEOUTMS, 5000);
mongoc_write_concern_t 구조를 사용하여 wtimeoutms 를 설정하다 수도 있습니다.
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets w=2 mongoc_write_concern_set_wtimeout(write_concern, 5000); // Apply write concern to client mongoc_client_set_write_concern(client, write_concern);
Journal
쓰기 고려 (write concern) 의 j 구성 요소로, MongoDB 인스턴스가 디스크 저널 에 기록했다는 확인을 요청합니다. 기본값 은 writeConcernMajorityJournalDefault 설정의 값에 따라 달라집니다. j 옵션에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 쓰기 고려 를 참조하세요.
MONGOC_URI_JOURNAL 옵션을 사용하여 journal 을 설정하다 수 있습니다.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_JOURNAL, true);
mongoc_write_concern_t 구조를 사용하여 journal 를 설정하다 수도 있습니다.
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets journal to true mongoc_write_concern_set_journal(write_concern, true); // Apply write concern to client mongoc_client_set_write_concern(client, write_concern);
읽기 고려 옵션
읽기 고려 수준
클라이언트의 읽기 고려 (read concern) 수준입니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 고려 (read concern) 참조를 참조하세요.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readConcernLevel=local");
읽기 고려 수준
클라이언트의 읽기 고려 (read concern) 수준입니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 고려 (read concern) 참조를 참조하세요.
MONGOC_URI_READCONCERNLEVEL 옵션을 사용하여 읽기 고려 (read concern) 수준을 설정하다 수 있습니다.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_READCONCERNLEVEL, "local")
mongoc_read_concern_t 구조를 사용하여 읽기 고려 (read concern) 수준을 설정하다 수도 있습니다.
mongoc_read_concern_t *read_concern = mongoc_read_concern_new(); // Set the read concern level to "local" mongoc_read_concern_set_level(read_concern, MONGOC_READ_CONCERN_LEVEL_LOCAL); mongoc_client_set_read_concern(client, read_concern);
읽기 기본 설정 옵션
읽기 설정
클라이언트의 기본값 읽기 설정 (read preference)입니다. 기본값 은 primary입니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 설정 (read preference) 을 참조하세요.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=primaryPreferred");
maxstaleness
최대 비활성 시간(초)은 세컨더리 경험할 수 있고 여전히 서버 선택 대상이 될 수 있는 벽시계 시간으로 가장 긴 복제 지연 나타냅니다. maxStalenessSeconds 에 허용되는 가장 작은 값은 90 초입니다. 이 옵션은 프라이머리가 아닌 읽기 설정 (read preference) 과 함께 사용해야 합니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=secondary&maxStalenessSeconds=120");
LocalThreshold
서버 자격에 대한 지연 시간 창 . 서버의 왕복 시간이 가장 빠른 서버의 왕복 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버 선택할 수 없습니다. 기본값 은 15 밀리초입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?localThresholdMS=150");
읽기 설정
클라이언트의 기본값 읽기 설정 (read preference)입니다. 기본값 은 primary입니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 설정 (read preference) 을 참조하세요.
mongoc_read_prefs_t 구조를 사용하여 읽기 설정 (read preference) 을 설정하다 수 있습니다.
mongoc_client_t *client = mongoc_client_new("mongodb+srv://localhost:27017/"); // Specifies the read preference mongoc_read_prefs_t *read_prefs = mongoc_read_prefs_new(MONGOC_READ_PRIMARY_PREFERRED); mongoc_client_set_read_prefs(client, read_prefs);
MONGOC_URI_READPREFERENCE 옵션을 사용하여 읽기 설정 (read preference) 설정하다 수도 있습니다.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_READPREFERENCE, "primaryPreferred")
maxstaleness
최대 비활성 시간(초)은 세컨더리 경험할 수 있고 여전히 서버 선택 대상이 될 수 있는 벽시계 시간으로 가장 긴 복제 지연 나타냅니다. maxStalenessSeconds 에 허용되는 가장 작은 값은 90 초입니다. 이 옵션은 프라이머리가 아닌 읽기 설정 (read preference) 과 함께 사용해야 합니다.
MONGOC_URI_MAXSTALENESSSECONDS 옵션을 사용하여 최대 비활성 상태를 설정하다 수 있습니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_MAXSTALENESSSECONDS, 120);
mongoc_read_prefs_t 구조를 사용하여 최대 비활성 상태를 설정하다 수도 있습니다.
mongoc_client_t *client = mongoc_client_new("mongodb+srv://localhost:27017/"); mongoc_read_prefs_t *read_prefs = mongoc_read_prefs_new(MONGOC_READ_SECONDARY); // Specifies max staleness to 120 seconds mongoc_read_prefs_set_max_staleness_seconds(read_prefs, 120); mongoc_client_set_read_prefs(client, read_prefs);
LocalThreshold
서버 자격에 대한 지연 시간 창 . 서버의 왕복 시간이 가장 빠른 서버의 왕복 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버 선택할 수 없습니다. 기본값 은 15 밀리초입니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_LOCALTHRESHOLDMS, 150);
인증 옵션
인증 메커니즘
운전자 MongoDB Server 에 인증하는 데 사용하는 메커니즘입니다. 인증 메커니즘 지정하지 않으면 운전자 서버 버전에 따라 SCRAM-SHA-1 또는 SCRAM-SHA-256를 사용합니다. 사용 가능한 인증 메커니즘에 대해 자세히 학습 인증 메커니즘 또는 엔터프라이즈 인증 메커니즘 가이드 참조하세요.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?authSource=admin&authMechanism=GSSAPI");
인증 메커니즘
운전자 MongoDB Server 에 인증하는 데 사용하는 메커니즘입니다. 인증 메커니즘 지정하지 않으면 운전자 서버 버전에 따라 SCRAM-SHA-1 또는 SCRAM-SHA-256를 사용합니다. 사용 가능한 인증 메커니즘에 대해 자세히 학습 인증 메커니즘 또는 엔터프라이즈 인증 메커니즘 가이드 참조하세요.
mongoc_uri_set_auth_mechanism(uri, "GSSAPI");
서버 선택/검색 옵션
하트비트 빈도
서버 모니터링 확인 사이의 간격입니다. 500 밀리초 이상이어야 합니다. 기본값 은 풀링된(멀티 스레드) 모드 에서 10000 ms(10 초), 비풀링된(단일 스레드) 모드 에서 60000 ms(60 초) 입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?heartbeatFrequencyMS=5000");
ServerSelectionTimeout
운전자 시간이 초과되기 전에 서버 선택하려고 시도하는 시간입니다. 기본값 은 30000 ms(30 초)입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?serverSelectionTimeoutMS=40000");
소켓 검사 간격
단일 스레드 클라이언트에만 적용됩니다. 이 시간 내에 소켓이 사용되지 않은 경우 드라이버 다시 사용하기 전에 빠른 "hello" 호출로 연결을 확인합니다. 기본값은 5000 ms(5 초)입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketCheckIntervalMS=10000");
하트비트 빈도
서버 모니터링 확인 사이의 간격입니다. 500 밀리초 이상이어야 합니다. 기본값 은 풀링된(멀티 스레드) 모드 에서 10000 ms(10 초), 비풀링된(단일 스레드) 모드 에서 60000 ms(60 초) 입니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_HEARTBEATFREQUENCYMS, 5000);
ServerSelectionTimeout
운전자 시간이 초과되기 전에 서버 선택하려고 시도하는 시간입니다. 기본값 은 30000 ms(30 초)입니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SERVERSELECTIONTIMEOUTMS, 40000);
소켓 검사 간격
단일 스레드 클라이언트에만 적용됩니다. 이 시간 내에 소켓이 사용되지 않은 경우 드라이버 다시 사용하기 전에 빠른 "hello" 호출로 연결을 확인합니다. 기본값은 5000 ms(5 초)입니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETCHECKINTERVALMS, 10000);
재시도 옵션
참고
적응형 속도 제한
SystemOverloadedError 또는 RetryableError 레이블의 오류로 인해 애플리케이션 에 장애가 발생하거나 애플리케이션 로그에 표시되는 경우, 운전자 적응형 속도 제한을 지원하는 버전으로 업그레이드되지 않을 수 있습니다. MongoDB C 드라이버 버전 2.3 이상으로 업그레이드하는 것이 좋습니다. 업그레이드 후에도 이러한 오류가 계속 표시되면 IWM(지능형 워크로드 관리) 구성 검토와 같은 서버 사이드 변경이나 사용자 지정 오류 처리 또는 클라이언트 사이드 요청 구현과 같은 애플리케이션 사이드 변경을 통해 문제를 주소 수 있습니다. 스로틀링. 상황에 따라 애플리케이션 측 변경이 선호되거나 필요할 수 있습니다.
적응형 속도 제한은 현재 조건에 따라 요청 속도를 동적으로 조정하여 서버 부하를 관리 도움이 됩니다. 이 기능 MongoDB 8.3 이상에서 사용할 수 있습니다.
IWM에 대한 자세한 내용은 Atlas 설명서의 안정성, 가용성 및 워크로드 관리 페이지 또는 오버로드 오류 페이지를 참조하세요.
기타 옵션
애플리케이션 이름
운전자 연결 핸드셰이크의 일부로 클라이언트 메타데이터 에서 서버 에 전달하는 앱 이름입니다. 연결이 설정되면 서버 이 값을 MongoDB 로그에 출력합니다. 이 값은 느린 쿼리 로그 및 프로필 컬렉션에도 기록됩니다. 기본값 은 비어 있습니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?appName=yourAppName");
로드 밸런싱
운전자 로드 밸런서 에 연결 중인지 여부를 지정합니다. 다음 조건이 모두 충족되는 경우에만 이 속성 true 로 설정하다 수 있습니다.
호스팅하다 이름을 하나만 지정합니다.
복제본 세트 에 연결하지 않습니다.
SrvMaxHosts속성 사용하지 않습니다.DirectConnection속성 사용하지 않습니다.
기본값은 false입니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?loadBalanced=true");
SRVmax 호스트
시드 목록을 처음 채울 때 또는 SRV 폴링 중에 토폴로지 에 새 호스트를 추가할 때 무작위로 선택할 수 있는 SRV 결과의 최대 개수입니다. 기본값 은 0입니다.
이 속성 연결 문자열 체계가 ConnectionStringScheme.MongoDBPlusSrv로 설정하다 경우에만 사용할 수 있습니다. 복제본 세트 에 연결할 때는 사용할 수 없습니다.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?srvMaxHosts=5");
애플리케이션 이름
운전자 연결 핸드셰이크의 일부로 클라이언트 메타데이터 에서 서버 에 전달하는 앱 이름입니다. 연결이 설정되면 서버 이 값을 MongoDB 로그에 출력합니다. 이 값은 느린 쿼리 로그 및 프로필 컬렉션에도 기록됩니다. 기본값 은 비어 있습니다.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_APPNAME, "yourAppName");
로드 밸런싱
운전자 로드 밸런서 에 연결 중인지 여부를 지정합니다. 다음 조건이 모두 충족되는 경우에만 이 속성 true 로 설정하다 수 있습니다.
호스팅하다 이름을 하나만 지정합니다.
복제본 세트 에 연결하지 않습니다.
SrvMaxHosts속성 사용하지 않습니다.DirectConnection속성 사용하지 않습니다.
기본값은 false입니다.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_LOADBALANCED, true);
SRVmax 호스트
시드 목록을 처음 채울 때 또는 SRV 폴링 중에 토폴로지 에 새 호스트를 추가할 때 무작위로 선택할 수 있는 SRV 결과의 최대 개수입니다. 기본값 은 0입니다.
이 속성 연결 문자열 체계가 ConnectionStringScheme.MongoDBPlusSrv로 설정하다 경우에만 사용할 수 있습니다. 복제본 세트 에 연결할 때는 사용할 수 없습니다.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SRVMAXHOSTS, 5);
추가 정보
이 페이지에 사용된 유형에 대한 자세한 내용은 다음 API 문서를 참조하세요.