Compactação de rede
Nesta página
Visão geral
Neste guia, você pode aprender como habilitar a compactação de rede usando o driver Go. Você pode especificar uma opção do cliente para comprimir mensagens, o que reduz a quantidade de dados passados pela rede entre o MongoDB e seu aplicativo.
O driver Go é compatível com os seguintes algoritmos de compressão:
Snappy: disponível no MongoDB 3.4 e posterior.
Zlib: disponível no MongoDB 3.6 e posterior.
Zstandard: disponível no MongoDB 4.2 e posterior.
Se você especificar vários algoritmos de compactação, o driver selecionará o primeiro na lista com suporte para sua implantação do MongoDB.
Você deve adicionar dependências para usar o algoritmo de compactação Snappy ou Zstandard. Para obter mais informações, consulte a seção Dependências do algoritmo de compactação deste guia.
Especifique algoritmos de compactação
Você pode habilitar a compressão para a conexão com sua implantação do MongoDB especificando os algoritmos de duas maneiras:
Defina o algoritmo de compressão em sua string de conexão.
Defina o algoritmo de compressão em uma instância
ClientOptions
.
Para habilitar a compressão utilizando a string de conexão, adicione o algoritmo de compressão como o valor do parâmetro compressors
à sua string de conexão. Você pode especificar um ou mais algoritmos de compressão separados por vírgulas:
opts := options.Client().ApplyURI("mongodb://localhost:27017/?compressors=snappy,zlib,zstd") client, _ := mongo.Connect(context.TODO(), opts)
Para ativar a compactação especificando uma ClientOptions instância, passe um ou mais algoritmos de compressão para o SetCompressors()
método como uma array de string:
opts := options.Client().SetCompressors([]string{"snappy", "zlib", "zstd"}) client, _ := mongo.Connect(context.TODO(), opts)
Especifique os algoritmos de compressão usando as seguintes strings:
Dependências do algoritmo de compactação
Para adicionar o algoritmo de compressão Snappy ao seu aplicativo, execute o seguinte código:
go get github.com/golang/snappy
Para adicionar o algoritmo de compressão padrão Z ao seu aplicativo, execute o seguinte código:
go get -u github.com/klauspost/compress
Para adicionar o algoritmo de compressão zlib à sua aplicação, importe o pacote zlib
integrado. Você deve adicionar a seguinte declaração de importação aos arquivos da aplicação que instanciam um Client
com compressão zlib:
import "compress/zlib"
Informações adicionais
Para obter mais informações sobre os conceitos deste guia, consulte a seguinte documentação:
URI de conexão no Guia de conexão
Opções de compactação de connection string no manual do servidor MongoDB
O pacote zlib Documentação Go