Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Comprimir el tráfico de la red

En esta guía, puedes aprender cómo usar el driver de Java para habilitar la compresión de red. El driver proporciona una opción de conexión para comprimir mensajes, lo que reduce la cantidad de datos transferidos por la red entre MongoDB y tu aplicación.

El controlador admite los siguientes algoritmos de compresión:

  • rápido: Disponible en MongoDB Server v3.4 y posteriores.

  • Zlib: Disponible en MongoDB Server3 v.6 y posteriores.

  • Zstandard: Disponible en MongoDB Server v4.2 y posteriormente.

El controlador prueba las siguientes versiones de estas bibliotecas:

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

  • com.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 dichos algoritmos. Para obtener más información, consulte la sección "Dependencias de los algoritmos de compresión" de esta guía.

Puedes habilitar la compresión para la conexión a tu instancia de MongoDB al especificar los algoritmos de una de las siguientes formas:

  • Utiliza el parámetro compressors en tu cadena de conexión.

  • Encadena el método compressorList() al método MongoClientSettings.builder().

Selecciona el Connection String o MongoClientSettings pestaña para ver la sintaxis correspondiente:

Incluya los siguientes parámetros en su cadena de conexión para habilitar la compresión:

Nombre de la opción
Tipo
Descripción

compressors

string

Especifica uno o varios algoritmos de compresión que el driver intentará unir para comprimir las solicitudes enviadas a la instancia conectada de MongoDB. Los valores posibles incluyen: zlib, snappy y zstd.

Por defecto: null

zlibCompressionLevel

entero

Especifica el grado de compresión que Zlib usa para disminuir el tamaño de las solicitudes a la instancia conectada de MongoDB. El nivel puede variar de -1 a 9, con valores más bajos comprimiendo más rápido (pero resultando en solicitudes más grandes) y valores más altos comprimiendo más lento (pero resultando en solicitudes más pequeñas).

Por defecto: null

Lo siguiente especifica el orden en el que el controlador intentará comprimir las solicitudes antes de enviarlas:

ConnectionString connectionString = new ConnectionString(
"mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd");
MongoClient client = MongoClients.create(connectionString);

Para obtener más información sobre estos parámetros, consulta la Cadena de conexión documentación de la API.

Encadena los siguientes métodos a tu constructor MongoClientSettings para modificar el comportamiento de compresión del controlador:

Método
Descripción

compressorList()

Establece los compresores que se utilizarán para comprimir mensajes al servidor.

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

Para obtener más información sobre los métodos encadenados, consulte la documentación de la API MongoClientSettings.Builder.

El JDK admite de forma nativa la Zlib compresión zlib. Sin embargo, Snappy y Zstandard dependen de implementaciones Java de código abierto. Para más información sobre estas implementaciones, consulta los siguientes repositorios de GitHub:

Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API:

Volver

Configurar los ajustes CRUD a nivel de cliente

En esta página