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.
You must add dependencies to use the Snappy or Zstandard compression algorithm. For more information, see the Compression Algorithm Dependencies section of this guide.
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 instância ClientOptions, passe um ou mais algoritmos de compactação para o método SetCompressors() como uma array de strings:
opts := options.Client().SetCompressors([]string{"snappy", "zlib", "zstd"}) client, _ := mongo.Connect(context.TODO(), opts)
Especifique os algoritmos de compressão usando as seguintes strings:
"snappy"para compressão Snappy"zlib"para compressão zlib"zstd"para compressão padrão Z
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