개요
이 섹션에서는 Java Reactive Streams 운전자 에서 연결 URI의 매개변수로 전달할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다.
연결 URI 사용
연결 URI를 MongoClient 생성자에 전달하는 경우 문자열에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시에서 연결 URI에는 값이 60000인 connectTimeoutMS 옵션과 값이 true인 tls 옵션이 포함되어 있습니다.
public class MongoConnection { public static void main(String[] args) { String uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"; try (MongoClient client = MongoClients.create(uri)) { // Use client here } } }
연결 옵션
다음 섹션에서는 Java Reactive Streams 운전자 에서 사용할 수 있는 연결 옵션에 대해 설명합니다. 이러한 옵션을 연결 URI의 매개 변수로 전달하여 클라이언트 의 동작을 지정할 수 있습니다.
인증
연결 옵션 | 설명 |
|---|---|
authMechanism | Java Reactive Streams 운전자 애플리케이션 인증하는 데 사용하는 |
authMechanismProperties | 인증 메커니즘에 특유한 옵션을 설정합니다. |
authSource | 인증 자격 증명의 소스를 설정합니다. 소스는 일반적으로 |
사용자 이름 | 인증을 위한 사용자 이름을 설정합니다. 이 옵션이 연결 |
비밀번호 | 인증용 비밀번호를 설정합니다. 이 옵션이 연결 |
연결 구성
연결 옵션 | 설명 |
|---|---|
connectTimeoutMS | 시간이 초과되기 전에 연결이 가질 수 있는 시간(밀리초 단위) 을 설정합니다. |
maxIdleTimeMS | 연결이 제거되거나 닫히기 전에 풀에서 유휴 상태로 유지될 수 있는 최대 시간(밀리초)을 설정합니다. |
maxLifeTimeMS | 푸린 연결의 최대 수명을 밀리초 단위로 설정합니다. |
socketTimeoutMS (사용 중단됨) | 이 옵션은 더 이상 사용되지 않습니다. 대신 클라이언트 |
ssl | TLS/SSL을 사용하여 연결할 지 여부를 설정합니다. |
sslInvalidHostNameAllowed | TLS/SSL 연결의 경우 유효하지 않은 호스트 이름을 허용합니다. |
TLS | TLS를 사용하여 연결할 지 여부를 설정합니다. |
tlsAllowInvalidHostnames | TLS 연결에 대해 유효하지 않은 호스트 이름을 허용합니다. |
tlsInsecure | TLS를 사용하여 연결할 때 안전하지 않은 TLS 연결을 활성화합니다. |
연결 풀 구성
연결 옵션 | 설명 |
|---|---|
maxConnecting | 풀이 동시에 설정할 수 있는 최대 연결 수를 설정합니다. |
maxPoolSize | 연결 풀의 최대 연결 수를 설정합니다. 연결 풀에 |
minPoolSize | 연결 풀의 최소 연결 수를 설정합니다. |
waitQueueTimeoutMS (사용 중단됨) | 이 옵션은 더 이상 사용되지 않습니다. 대신 클라이언트 |
CompressorConfiguration
연결 옵션 | 설명 |
|---|---|
압축기 | 서버에 전송되거나 서버에서 수신하는 유선 프로토콜 메시지에 대해 우선순위별로 선호하는 압축 유형을 설정합니다. |
zlibCompressionLevel | zlib에 사용할 압축 수준을 설정합니다. 이 옵션은 |
일반 구성
연결 옵션 | 설명 |
|---|---|
directConnection | 드라이버가 호스트에 직접 연결하는지 여부를 설정합니다. |
loadBalanced | 드라이버가 로드 |
retryWrites | 네트워크 오류로 인해 지원되는 쓰기 작업이 실패한 경우 드라이버가 다시 시도할지 여부를 설정합니다. |
retryReads | 네트워크 오류로 인해 지원되는 읽기 작업이 실패한 경우 드라이버가 다시 시도할 지 여부를 설정합니다. |
uuidRepresentation |
참고
Intelligent Workload Management(IWM)의 로드 차단
SystemOverloadedError 또는 RetryableError 레이블의 오류로 인해 애플리케이션 에 장애가 발생하거나 애플리케이션 로그에 표시되는 경우, 클러스터 에서 부하 차단이 활성화되어 있을 수 있으며 운전자 이를 지원하는 버전으로 업그레이드되지 않을 수 있습니다. MongoDB Java Reactive Streams 드라이버 버전 5.8 이상으로 업그레이드하는 것이 좋습니다. 업그레이드 후에도 이러한 오류가 계속 표시되면 로드 차단 구성 검토와 같은 서버 사이드 변경이나 사용자 지정 오류 처리 또는 클라이언트 사이드 요청 스로틀링 구현과 같은 애플리케이션 사이드 변경을 통해 문제를 주소 수 있습니다. 상황에 따라 애플리케이션 측 변경이 선호되거나 필요할 수 있습니다.
로드 차단은 IWM의 기능 으로, 지속적인 과부하 상태에서 과도한 작업을 거부하여 서버 로드를 관리 도움이 됩니다. 이 기능 MongoDB 9.0 이상에서 사용할 수 있습니다.
IWM 또는 과부하 오류 처리에 대한 자세한 내용은 Atlas 설명서의 Intelligent Workload Management 페이지 또는 Overload Errors 페이지를 참조하세요.
프록시 구성
연결 옵션 | 설명 |
|---|---|
proxyHost | 연결을 수립하기 위한 SOCKS5 프록시 호스트를 설정합니다. |
proxyPort | SOCKS5 프록시 서버의 포트 번호를 설정합니다. 음수가 아닌 정수여야 합니다. |
proxyUsername | 프록시 서버에 인증할 사용자 이름을 설정합니다. |
proxyPassword | 프록시 서버에 대한 인증을 위한 비밀번호를 설정합니다. |
읽기 설정 구성
연결 옵션 | 설명 |
|---|---|
읽기 설정 | 이 연결에 대한 읽기 설정(read preference)을 설정합니다. 열거한 값은 다음과 같습니다. |
readPreferenceTags | |
최대 보관 기간 | 최대 비활성 상태를 초 단위로 설정합니다. 비활성 상태에 대한 |
복제본 세트 구성
연결 옵션 | 설명 |
|---|---|
복제본 세트 | 연결할 복제본 세트의 이름을 지정합니다. |
서버 구성
연결 옵션 | 설명 |
|---|---|
앱 이름 | 애플리케이션의 논리적 이름을 설정합니다. |
heartbeatFrequencyMS | 클러스터에 있는 각 서버의 현재 상태를 확인하는 드라이버의 빈도(밀리초). |
localThresholdMS | 요청을 보내기 위해 여러 MongoDB 서버 중에서 선택하는 핑 시간 임계값을 설정합니다. |
serverMonitoringMode | 사용할 모니터링 프로토콜을 정의하는 서버 모니터링 모드를 설정합니다. 열거된 값은 |
serverSelectionTimeoutMS | 운전자가 예외를 발생시키기 전에 서버 선택이 성공할 때까지 기다릴 시간을 설정합니다. |
SRV 구성
쓰기 고려 구성
연결 옵션 | 설명 |
|---|---|
안전한 | 드라이버가 모든 쓰기가 |
journal | 드라이버가 서버가 디스크의 |
w | 설정되어 있으면 드라이버가 모든 쓰기 (write) 명령에 |
wtimeoutMS (사용 중단됨) | 이 옵션은 더 이상 사용되지 않습니다. 대신 클라이언트 |
이 섹션의 연결 옵션에 대한 자세한 내용은 데이터베이스 및 컬렉션 가이드 를 참조하세요.