Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

네트워크 트래픽 압축

이 가이드 에서는 Java 운전자 사용하여 네트워크 압축을 활성화 방법을 학습 수 있습니다. 운전자 메시지를 압축하는 연결 옵션을 제공하여 MongoDB 와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄입니다.

이 드라이버는 다음 압축 알고리즘을 지원합니다.

  • Snappy: MongoDB Server v3에서 사용 가능합니다.4 그리고 나중에.

  • zlib: MongoDB Server v3에서 사용 가능합니다.6 그리고 나중에.

  • Zstandard: MongoDB Server v4에서 사용 가능합니다.2 그리고 나중에.

드라이버는 이러한 라이브러리의 다음 버전에 대해 테스트합니다:

  • org.xerial.snappy:snappy-java:1.1.10.3

  • com.github.luben:zstd-jni:1.5.5-3

여러 압축 알고리즘을 지정하는 경우 드라이버는 MongoDB 인스턴스에서 지원하는 목록에서 첫 번째 압축 알고리즘을 선택합니다.

참고

Snappy 또는 Zstandard 압축이 필요한 애플리케이션은 해당 알고리즘에 대한 명시적 종속성을 추가해야 합니다. 자세히 학습하려면 이 가이드의 압축 알고리즘 종속성 섹션을 참조하세요.

다음 방법 중 하나로 알고리즘을 지정하여 MongoDB 인스턴스 에 대한 연결에 압축을 활성화 할 수 있습니다.

  • 연결 문자열 에 compressors 매개변수를 사용합니다.

  • compressorList() 메서드를 MongoClientSettings.builder() 메서드에 연결합니다.

Connection String 또는 MongoClientSettings 탭 선택하여 해당 구문을 확인합니다.

압축을 활성화 하려면 연결 문자열 에 다음 매개변수를 포함하세요.

옵션 이름
유형
설명

compressors

문자열

연결된 MongoDB 인스턴스로 전송된 요청을 드라이버가 압축하는 데 사용할 하나 이상의 압축 알고리즘을 지정합니다. 사용 가능한 값: zlib, snappy, zstd.

기본값: null

zlibCompressionLevel

integer

연결된 MongoDB 인스턴스에 대한 요청의 크기를 줄이기 위해 zlib 사용하는 압축 정도를 지정합니다. 이 수준의 범위 -1 부터 9까지이며, 값이 낮을수록 압축 속도가 빨라지지만 요청 크기가 커지며, 값이 클수록 압축 속도가 느려지지만 요청 크기는 작아집니다.

기본값: null

다음은 운전자 요청을 전송하기 전에 압축을 시도하는 순서를 지정합니다.

ConnectionString connectionString = new ConnectionString(
"mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd");
MongoClient client = MongoClients.create(connectionString);

이러한 매개변수에 대한 자세한 내용은 ConnectionString API 설명서를 참조하세요.

드라이버의 압축 동작을 수정하려면 다음 메서드를 MongoClientSettings 생성자에 연결합니다.

메서드
설명

compressorList()

서버에 대한 메시지를 압축하는 데 사용할 압축기를 설정합니다.

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

연결된 메서드에 대한 자세한 내용은 MongoClientSettings.Builder API 설명서를 참조하세요.

JDK는 기본적으로 Zlib 압축을 지원합니다. 그러나 Snappy와 Zstandard는 오픈 소스 Java 구현에 의존합니다. 이러한 구현에 대해 자세히 학습 snappy-javazstd-java에 대한 GitHub 리포지토리를 참조하세요.

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.

돌아가기

클라이언트 수준 CRUD 설정 구성

이 페이지의 내용