서버 세션
이 페이지의 내용
개요
MongoDB의 서버 세션 또는 논리적 세션은 클라이언트 세션에서 인과적 일관성 및 재시도 가능 쓰기를 지원 하는 데 사용하는 기본 프레임워크 입니다.
중요
애플리케이션은 클라이언트 세션을 사용하여 서버 세션과 인터페이스를 형성합니다.
서버 세션은 복제본 세트 및 샤딩된 클러스터에만 사용할 수 있습니다.
명령 옵션
3.6부터 MongoDB 드라이버는 승인되지 않은 쓰기를 제외한 모든 작업을 서버 세션과 연결합니다. 서버 세션과의 연결을 지원하기 위해 모든 명령에 다음 옵션을 사용할 수 있습니다.
중요
mongosh
와 드라이버는 다음의 옵션들을 세션의 명령에 할당합니다.
옵션 | 유형 | 설명 |
---|---|---|
lsid | 문서 | 명령과 관련된 세션의 고유 ID를 지정하는 문서입니다. txnNumber 가 지정되면 lsid 이 필요합니다. |
txnNumber | 64비트 정수 | 명령 세션에서 명령을 고유하게 식별하는 음수가 아닌 엄격하게 증가하는 숫자입니다. 지정된 경우 명령에는 |
문 배열을 사용하는 delete
, insert
및 update
명령의 경우 다음 옵션도 사용할 수 있습니다.
중요
stmtIds
을 수동으로 설정하지 마세요. MongoDB는 stmtIds
를 음수가 아닌 엄격하게 증가하는 숫자로 설정합니다.
옵션 | 유형 | 설명 |
---|---|---|
stmtIds | 32비트 정수의 배열 | 쓰기 명령 내에서 해당 쓰기 작업을 고유하게 식별하는 숫자 배열입니다. |
세션 명령
다음 명령을 사용하여 MongoDB 클러스터 전체에서 서버 세션을 나열, 관리 및 종료할 수 있습니다.
명령. | 설명 |
---|---|
지정된 서버 세션을 만료합니다. | |
모든 서버 세션을 종료합니다. | |
지정된 패턴과 일치하는 모든 서버 세션을 종료합니다. | |
지정된 서버 세션을 종료합니다. | |
유휴 서버 세션을 새로 고칩니다. | |
새 서버 세션을 시작합니다. |
세션 및 액세스 제어
배포서버에서 인증/권한 부여를 적용하려면 사용자를 인증하여 세션을 시작해야 하며, 해당 사용자만 세션을 사용할 수 있습니다.
2} 인증 사용자(Kerberos, LDAP 또는 x.509 사용자)와 함께 클라이언트 세션 및 인과적 일관성 보장을 사용하려면 사용자 이름이 10KB보다 클 수 없습니다. $external
배포서버에서 인증/권한 부여를 적용하지 않는 경우, 생성된 세션에는 소유자가 없으며 모든 연결의 모든 사용자가 사용할 수 있습니다. 사용자가 인증/권한 부여를 적용하지 않는 배포서버에 대해 세션을 인증하고 생성하는 경우, 해당 사용자가 세션을 소유합니다. 그러나 모든 연결의 모든 사용자가 세션을 사용할 수 있습니다.
중단 시간 없이 배포서버가 인증으로 전환되면 소유자가 없는 세션을 사용할 수 없습니다.