Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/ /

Compactação de rede

O driver Kotlin do MongoDB oferece uma opção de conexão para comprimir mensagens, o que reduz a quantidade de dados passados pela rede entre o MongoDB e seu aplicativo.

O driver suporta os seguintes algoritmos:

  1. Snappy

  2. zlib

  3. Zstandard

O driver é testado nas seguintes versões dessas bibliotecas:

  • org.xerial.snappy:snappy-java:1.1.8.4

  • com.github.luben:zstd-jni:1.5.5-2

Se você especificar vários algoritmos de compressão, o driver selecionará o primeiro que for suportado pela instância do MongoDB à qual o driver está conectado.

Observação

Se o seu aplicativo exigir compressão Snappy ou Zstandard, você deverá adicionar dependências explícitas para esses algoritmos.

Você pode habilitar a compressão na sua conexão especificando os algoritmos das seguintes maneiras:

  • Adicionando o parâmetro compressors à sua instância ConnectionString

  • Chamando o método compressorList() do construtor MongoClientSettings

Para habilitar a compressão em sua conexão em uma instância ConnectionString, especifique o parâmetro compressors. Você pode especificar um ou mais dos seguintes valores para o parâmetro compressors:

O exemplo a seguir mostra como especificar Snappy, zlib e Zstandard como os algoritmos de compressão para uma conexão:

// Replace the placeholders with values from your MongoDB deployment's connection string
val connectionString = ConnectionString("mongodb+srv://<user>:<password>@<cluster-url>/?compressors=snappy,zlib,zstd")
// Create a new client with your settings
val mongoClient = MongoClient.create(connectionString)

Para ativar o uso da compactação em suas MongoClientSettings, chame o método de construtor compressorList() e passe uma ou mais instâncias do MongoCompressor como parâmetro.

Você pode especificar algoritmos de compressão chamando os seguintes métodos do MongoCompressor:

O exemplo a seguir mostra como especificar Snappy, zlib e Zstandard como os algoritmos de compressão para uma conexão:

// Replace the placeholder with your MongoDB deployment's connection string
val uri = "<connection string>"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.compressorList(
listOf(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor())
)
.build()
// Create a new client with your settings
val mongoClient = MongoClient.create(settings)

O JDK suporta compressão zlib nativamente, mas Snappy e Zstandard dependem de implementações de código aberto. Consulte snappy-java e zstd-java para obter detalhes.

Voltar

Limitar o tempo de execução

Nesta página