12 KiB
title, source_type, url, archive_url, status, confidence, tags, related_projects, related_branches, created, last_reviewed
| title | source_type | url | archive_url | status | confidence | tags | related_projects | related_branches | created | last_reviewed | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| official-doc / MongoDB — Connection String Options (timeout / pool / tls / retry) | official-doc | https://www.mongodb.com/docs/manual/reference/connection-string-options/ | raw | high |
|
|
|
2026-07-28 | 2026-07-28 |
official-doc / MongoDB — Connection String Options (timeout / pool / tls / retry)
Layer:
raw/official-docs/— MongoDB 공식 Manual reference (connection-string-options) 원문 발췌.feature-mongo-runtime-baseline-contract의 "Mongo 연결의 timeout·pool·TLS 파라미터를 드라이버 기본값에 맡기지 않고 명시하고 env registry 로 노출한다" 결정 근거.
Parent / 활용 branch (필수)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-mongo-runtime-baseline-contract | Mongo 연결의 timeout(serverSelectionTimeoutMS/connectTimeoutMS/socketTimeoutMS)·pool(maxPoolSize/minPoolSize/maxIdleTimeMS)·TLS(tls)·retry(retryWrites/retryReads) 파라미터를 드라이버 기본값에 맡기지 않고 명시하고 env registry 로 노출한다 |
컨텍스트
ca-skeleton 은 MongoDB 를 optional adapter(문서 저장소 축)로 채택할 수 있다. 본 branch 는 연결 문자열의 timeout·pool·TLS·retry 파라미터를 드라이버 기본값에 맡길지, 명시적으로 설정하고 env registry 로 노출할지를 결정해야 한다. 이 판단에는 각 옵션이 실제로 무엇을 의미하는지, 그리고 드라이버/서버가 어떤 값을 기본값으로 쓰는지에 대한 공식 정의가 필요하다 — "기본값에 의존하지 않는다"는 결정을 정당화하려면 그 기본값이 무엇인지, 왜 운영 환경에 부적합할 수 있는지 먼저 알아야 한다.
출처 / Source
- 원본 URL: https://www.mongodb.com/docs/manual/reference/connection-string-options/
- 아카이브 URL: (미수집)
- 저자 / 조직: MongoDB, Inc.
- 발행일: MongoDB Manual (현재 버전)
- 마지막 확인일: 2026-07-28
핵심 인용 / Key quotes (verbatim)
[§
serverSelectionTimeoutMS] "Specifies how long (in milliseconds) to block for server selection before throwing an exception. Default: 30,000 milliseconds."
[§
connectTimeoutMS] "The time in milliseconds to attempt a connection before timing out. The default is 10,000 milliseconds, but specific drivers might have a different default."
[§
socketTimeoutMS] "The time in milliseconds to attempt a send or receive on a socket before the attempt times out. The default is no timeout, though different drivers might vary."
[§
maxPoolSize] "The maximum number of connections in the connection pool. The default value is100."
[§
minPoolSize] "The minimum number of connections in the connection pool. The default value is0."
[§
maxIdleTimeMS] "The maximum number of milliseconds that a connection can remain idle in the pool before being removed and closed." — "This option is not supported by all drivers."
[§
tls] "true: Initiates the connection with TLS/SSL. Default for [SRV Connection Format.]" / "false: Initiates the connection without TLS/SSL. Default for [Standard Connection String Format.]"
[§
retryWrites/retryReads] "Official MongoDB drivers default totrue." (두 옵션 모두 동일 문장으로 기본값 명시)
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| MONGO-CONNSTR-C1 | serverSelectionTimeoutMS 는 서버 선택을 위해 얼마나 오래 대기할지(밀리초)를 지정하며, 초과 시 예외를 던진다. 기본값은 30,000ms 이다 |
[§serverSelectionTimeoutMS] "Specifies how long (in milliseconds) to block for server selection before throwing an exception. Default: 30,000 milliseconds." |
official-vendor-doc |
공식 MongoDB 드라이버가 이 URI 옵션을 지원하는 배포 전반 | 특정 드라이버(예: Spring Data MongoDB 가 사용하는 Java driver) 가 이 기본값을 그대로 상속하는지는 개별 드라이버 문서 확인 필요 |
| MONGO-CONNSTR-C2 | connectTimeoutMS 는 연결 시도를 timeout 처리하기 전까지 걸리는 시간(밀리초)이며, 기본값은 10,000ms 이지만 드라이버마다 다를 수 있다 |
[§connectTimeoutMS] "The time in milliseconds to attempt a connection before timing out. The default is 10,000 milliseconds, but specific drivers might have a different default." |
official-vendor-doc |
연결 수립 단계의 timeout 일반 의미 | "특정 드라이버가 다른 기본값을 가질 수 있다"는 문장 자체가 그 드라이버가 무엇인지는 밝히지 않음 — 실제 채택 드라이버의 기본값은 별도 확인 필요 |
| MONGO-CONNSTR-C3 | socketTimeoutMS 는 소켓에서 송수신을 시도하는 시간(밀리초)이며, 기본값은 "no timeout"(무제한)이다 |
[§socketTimeoutMS] "The time in milliseconds to attempt a send or receive on a socket before the attempt times out. The default is no timeout, though different drivers might vary." |
official-vendor-doc |
연결 수립 이후 개별 read/write 소켓 작업의 timeout 일반 의미 | 드라이버가 실제로 이 "no timeout" 기본값을 그대로 두는지, 아니면 자체 기본값으로 override 하는지는 드라이버별 확인 필요 — 본 인용은 "different drivers might vary" 라고만 명시 |
| MONGO-CONNSTR-C4 | maxPoolSize 는 connection pool 의 최대 연결 수를 의미하며, 기본값은 100 이다 |
[§maxPoolSize] "The maximum number of connections in the connection pool. The default value is 100." |
official-vendor-doc |
connection pool 크기 설정 URI 옵션을 지원하는 드라이버 전반 | 100 이 모든 배포·워크로드에 적정한 값이라는 것은 이 문장이 증명하지 않음 — 값 산정(sizing) 기준은 별도 자료 필요 |
| MONGO-CONNSTR-C5 | minPoolSize 는 connection pool 의 최소 연결 수를 의미하며, 기본값은 0 이다 |
[§minPoolSize] "The minimum number of connections in the connection pool. The default value is 0." |
official-vendor-doc |
connection pool 최소 유지 연결 수 개념 | 모든 드라이버가 이 옵션을 지원하는 것은 아님(자료 원문에 별도 명시) — 채택 드라이버의 지원 여부 확인 필요 |
| MONGO-CONNSTR-C6 | maxIdleTimeMS 는 연결이 idle 상태로 pool 에 남아있다가 제거·종료되기까지의 최대 시간(밀리초)을 의미한다. 원문에는 이 옵션의 명시적 숫자 기본값이 기재되어 있지 않다(재확인 fetch로 "No default value is explicitly stated" 확인) |
[§maxIdleTimeMS] "The maximum number of milliseconds that a connection can remain idle in the pool before being removed and closed." |
official-vendor-doc |
idle connection 회수 개념 자체 | 이 옵션의 실제 기본 동작(예: 무제한 유지)이 무엇인지는 이 인용만으로 증명되지 않음 — "모든 드라이버가 지원하는 것은 아니다"라고만 명시되어 있어, 채택 드라이버 문서에서 실제 기본 동작 확인 필요 |
| MONGO-CONNSTR-C7 | tls(=ssl) 옵션의 기본값은 연결 문자열 형식에 따라 다르다 — SRV 형식(mongodb+srv://)에서는 true 가 기본, Standard 형식(mongodb://)에서는 false 가 기본이다 |
[§tls] "true: Initiates the connection with TLS/SSL. Default for [SRV Connection Format.]" / "false: Initiates the connection without TLS/SSL. Default for [Standard Connection String Format.]" |
official-vendor-doc |
mongodb:// 또는 mongodb+srv:// 형식의 연결 문자열을 사용하는 모든 공식 드라이버 |
TLS 미사용(Standard 형식 + tls 미지정) 상태에서 실제 운영 환경에 어떤 위험이 있는지는 이 문서가 규정하지 않음 — 위험 판단은 별도 보안 근거 필요 |
| MONGO-CONNSTR-C8 | retryWrites/retryReads 는 공식(official) MongoDB 드라이버에서 기본값이 true 이다(재시도 가능 write/read 가 기본 활성화) |
[§retryWrites/retryReads] "Official MongoDB drivers default to true." |
official-vendor-doc |
"공식" MongoDB 드라이버(자체 명시)를 사용하는 연결 | 서드파티/커스텀 드라이버 또는 mongosh 는 이 기본값 범위 밖 — 원문에 "mongosh does not support retryable reads" 라고 별도 명시(이번 raw 에는 별도 claim 미등록, 참고용으로만 기재) |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
MONGO-CONNSTR-C1:serverSelectionTimeoutMS기본값 30,000msMONGO-CONNSTR-C2:connectTimeoutMS기본값 10,000ms(드라이버별 상이 가능)MONGO-CONNSTR-C3:socketTimeoutMS기본값 "no timeout"(드라이버별 상이 가능)MONGO-CONNSTR-C4~C5:maxPoolSize기본값 100,minPoolSize기본값 0MONGO-CONNSTR-C6:maxIdleTimeMS의미는 정의되지만 명시적 숫자 기본값은 이 문서에 없음MONGO-CONNSTR-C7:tls기본값이 연결 문자열 형식(SRV vs Standard)에 따라 갈린다는 사실MONGO-CONNSTR-C8: 공식 드라이버 기준retryWrites/retryReads기본값true
- 이 자료가 증명하지 않는 것:
- ca-skeleton 이 실제로 채택할 특정 드라이버(예: Spring Data MongoDB 가 감싸는 MongoDB Java Driver)가 이 문서의 기본값을 정확히 그대로 상속하는지 — 원문 곳곳에 "specific drivers might have a different default" / "different drivers might vary" 라고 반복 명시되어 있어, 채택 드라이버 자체 문서 교차 확인이 필요함
maxPoolSize: 100,serverSelectionTimeoutMS: 30000등 기본값이 ca-skeleton 의 실제 트래픽·SLA 에 적정한지 — 이 문서는 정의와 기본값만 제공, sizing 판단 근거 아님w/j/wtimeout등 write concern 관련 옵션 — 별도 자료 raw/official-docs/write-concern-mongodb-official 로 이미 수집됨, 본 자료 범위 밖- read concern / change streams / replica-set 트랜잭션 요건 — 본 branch 완료 조건에 포함되나 이 자료는 다루지 않음(잔여 수집 대상)
- ca-skeleton 프로젝트에 적용하려면 추가 확인이 필요한 것:
- Spring Data MongoDB(또는 채택할 드라이버)가 이 URI 옵션들을 어떤 설정 property(예:
spring.data.mongodb.urivs 개별 property)로 노출하는지 — 별도 official-doc 필요 - env registry 에 노출할 실제 값(예:
serverSelectionTimeoutMS를 30,000 그대로 둘지 낮출지)은 이 자료가 아니라 branch 의 §구현 가이드에서 운영 요구사항 기반으로 결정 — 본 자료는 "기본값이 무엇이고 왜 명시가 필요한지"까지만 증명
- Spring Data MongoDB(또는 채택할 드라이버)가 이 URI 옵션들을 어떤 설정 property(예:
메모 / Notes
- 최초 WebFetch 결과는 소형 모델이 각 옵션을 새 markdown 표(재구성)로 요약해 반환했다 — paraphrase 위험이 있어 폐기하고, "Do NOT summarize or reformat" 지시를 명시한 재요청으로 verbatim 인용을 다시 받았다.
maxIdleTimeMS의 명시적 기본값 유무는 3차 재요청으로 별도 확인("No default value is explicitly stated")했다. tls/ssl인용은 원문의 markdown 링크 문법([SRV Connection Format.](url))이 포함되어 있어, self-grep 매칭을 위해 링크 텍스트까지만([SRV Connection Format.]) 부분 문자열로 인용했다 — 원문 자체의 하이퍼링크 마크업이며 내용 왜곡 아님.- 잔여 수집 대상(이번 raw 범위 밖): read concern 공식 정의, change streams resume token 공식 정의, replica-set 트랜잭션 요건 공식 문서.
Related / 관련
- 같은 주제 다른 official-doc: raw/official-docs/write-concern-mongodb-official (write concern
w/j/wtimeout— 본 자료와 상보적) - 인용하는 branch: raw/branch-notes/feature-mongo-runtime-baseline-contract
- 인용하는 project: raw/project-notes/ca-skeleton-operational-contract
- 인용한 wiki 요약: (미작성)