Comprimir tráfego de rede
Nesta página
O driver Java Reactive Streams fornece uma opção de conexão para comprimir mensagens, o que reduz a quantidade de dados passados pela rede entre o MongoDB e seu aplicação.
O driver suporta os seguintes algoritmos:
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.
O driver é testado nas seguintes versões dessas bibliotecas:
org.xerial.snappy:snappy-java:1.1.10.3
com.github.luben:zstd-jni:1.5.5-3
Se você especificar vários algoritmos de compressão, o driver selecionará o primeiro na lista compatível com sua instância do MongoDB.
Observação
Os aplicativos que exigem compressão Snappy ou Zstandard devem adicionar dependências explícitas para esses algoritmos.
Especifique algoritmos de compactação
Você pode habilitar a compressão para a conexão com sua instância do MongoDB especificando os algoritmos de duas maneiras. Selecione a aba Connection String ou MongoClientSettings para ver a sintaxe correspondente:
No parâmetro
compressors
da string de conexãoNo método
compressorList
encadeado ao métodoMongoClientSettings.builder()
O exemplo a seguir mostra como especificar todos os algoritmos de compressão:
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);
Dependências do algoritmo de compactação
O JDK suporta nativamente zlib compressão. No entanto, Snappy e Zstandard dependem de implementações Java de código aberto. Para saber mais sobre essas implementações, consulte as seguintes páginas do Github:
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: