Menu Docs
Página inicial do Docs
/ / /
Driver de fluxos reativos do Java
/

Comprimir tráfego de rede

Nesta página

  • Especifique algoritmos de compactação
  • Dependências do algoritmo de compactação
  • Documentação da API

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.

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ão

  • No método compressorList encadeado ao método MongoClientSettings.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);

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:

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

TLS/SSL