네트워크 압축
이 페이지의 내용
개요
이 가이드에서는 Go 드라이버를 사용하여 네트워크 압축 을 활성화하는 방법을 배울 수 있습니다. 클라이언트 옵션을 지정하여 메시지를 압축하여 MongoDB와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄일 수 있습니다.
Go 드라이버는 다음 압축 알고리즘을 지원합니다.
Snappy: MongoDB 3.4 이상에서 사용할 수 있습니다.
Zlib: MongoDB 3.6 이상에서 사용할 수 있습니다.
Zstandard: MongoDB 4.2 이상에서 사용할 수 있습니다.
여러 압축 알고리즘을 지정하는 경우, 드라이버는 MongoDB 배포에서 지원하는 목록의 첫 번째 알고리즘을 선택합니다.
Snappy 또는 Zstandard 압축 알고리즘을 사용하려면 종속성을 추가해야 합니다. 자세한 내용은 이 가이드의 압축 알고리즘 종속성 섹션을 참조하세요.
압축 알고리즘 지정
다음 두 가지 방법 중 하나로 알고리즘을 지정하여 MongoDB 배포서버에 대한 연결에 압축을 활성화할 수 있습니다.
연결 문자열에서 압축 알고리즘을 설정합니다.
ClientOptions
인스턴스에서 압축 알고리즘을 설정합니다.
연결 문자열을 사용하여 압축을 활성화하려면 압축 알고리즘을 연결 문자열에 compressors
매개변수의 값으로 추가합니다. 쉼표로 구분하여 하나 이상의 압축 알고리즘을 지정할 수 있습니다.
opts := options.Client().ApplyURI("mongodb://localhost:27017/?compressors=snappy,zlib,zstd") client, _ := mongo.Connect(context.TODO(), opts)
ClientOptions 를 지정하여 압축을 활성화하려면 인스턴스에서 하나 이상의 압축 알고리즘을 SetCompressors()
메서드에 배열로 string 전달합니다.
opts := options.Client().SetCompressors([]string{"snappy", "zlib", "zstd"}) client, _ := mongo.Connect(context.TODO(), opts)
다음 문자열을 사용하여 압축 알고리즘을 지정합니다.
압축 알고리즘 종속성
애플리케이션에 Snappy 압축 알고리즘을 추가하려면 다음 코드를 실행하세요.
go get github.com/golang/snappy
애플리케이션에 Zstandard 압축 알고리즘을 추가하려면 다음 코드를 실행하세요.
go get -u github.com/klauspost/compress
애플리케이션에 Zlib 압축 알고리즘을 추가하려면 내장된 zlib
패키지를 가져옵니다. Zlib 압축으로 Client
를 인스턴스화하는 애플리케이션 파일에 다음 가져오기 문을 추가해야 합니다.
import "compress/zlib"
추가 정보
이 가이드의 개념에 대한 자세한 내용은 다음 문서를 참조하세요.
MongoDB Server 매뉴얼의 연결 string 압축 옵션
zlib 패키지 Go 문서