El controlador Java Reactive Streams proporciona una opción de conexión para comprimir mensajes, lo que reduce la cantidad de datos que pasan por la red entre MongoDB y su aplicación.
El controlador admite los siguientes algoritmos:
El controlador prueba las siguientes versiones de estas bibliotecas:
org.xerial.snappy:snappy-java:1.1.10.3com.github.luben:zstd-jni:1.5.5-3
Si especifica varios algoritmos de compresión, el controlador selecciona el primero de la lista compatible con su instancia de MongoDB.
Nota
Las aplicaciones que requieren compresión Snappy o Zstandard deben agregar dependencias explícitas para esos algoritmos.
Especificar algoritmos de compresión
Puede habilitar la compresión para la conexión a su instancia de MongoDB especificando los algoritmos de una de dos maneras. Seleccione el Connection String o la pestaña MongoClientSettings para ver la sintaxis correspondiente:
En el parámetro
compressorsde tu cadena de conexiónEn el método
compressorListencadenado al métodoMongoClientSettings.builder()
El siguiente ejemplo muestra cómo especificar todos los algoritmos de compresión:
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);
Dependencias del algoritmo de compresión
El JDK admite de forma nativa la compresión Zlib. Sin embargo, Snappy y Zstandard dependen de implementaciones de Java de código abierto. Para obtener más información sobre estas implementaciones, consulte las siguientes páginas de Github:
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: