네트워크 트래픽 압축
이 페이지의 내용
Java Reactive Streams 운전자 는 메시지를 압축하는 연결 옵션을 제공하여 MongoDB 와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄입니다.
드라이버는 다음 알고리즘을 지원합니다:
Snappy: MongoDB 3.4 이상에서 사용할 수 있습니다.
Zlib: MongoDB 3.6 이상에서 사용할 수 있습니다.
Zstandard: MongoDB 4.2 이상에서 사용할 수 있습니다.
드라이버는 이러한 라이브러리의 다음 버전에 대해 테스트합니다:
org.xerial.snappy:snappy-java:1.1.10.3
com.github.luben:zstd-jni:1.5.5-3
여러 압축 알고리즘을 지정하는 경우 드라이버는 MongoDB 인스턴스에서 지원하는 목록에서 첫 번째 압축 알고리즘을 선택합니다.
참고
Snappy 또는 Zstandard 압축이 필요한 애플리케이션은 해당 알고리즘에 대한 명시적인 종속성을 추가 해야 합니다.
압축 알고리즘 지정
두 가지 방법 중 하나로 알고리즘을 지정하여 MongoDB 인스턴스 에 대한 연결에 압축을 활성화 할 수 있습니다. Connection String 또는 MongoClientSettings 탭 을 선택하여 해당 구문을 확인합니다.
연결 string의
compressors
매개변수에서MongoClientSettings.builder()
메서드에 연결된compressorList
메서드에서
다음 예시 는 모든 압축 알고리즘을 지정하는 방법을 보여줍니다.
ConnectionString connectionString = new ConnectionString( "mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd"); MongoClient client = MongoClients.create(connectionString);
MongoClientSettings settings = MongoClientSettings.builder() .compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(), MongoCompressor.createZlibCompressor(), MongoCompressor.createZstdCompressor())) .build(); MongoClient client = MongoClients.create(settings);
압축 알고리즘 종속성
JDK는 기본적으로 를 지원합니다.zlib 압축. 그러나 Snappy와 Zstandard는 오픈 소스 Java 구현에 의존합니다. 이러한 구현에 학습 보려면 다음 Github 페이지를 참조하세요.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.