文档菜单
文档首页
/ / /
Java 反应式流驱动程序
/

压缩网络流量

在本页

  • 指定压缩算法
  • 压缩算法依赖关系
  • API 文档

Java 反应式流驱动程序提供了一个连接选项来压缩消息,从而减少了 MongoDB 和您的应用程序之间通过网络传输的数据量。

驱动程序支持以下算法

  • Snappy:自 MongoDB 3.4 及更高版本可用。

  • Zlib:自 MongoDB 3.6 及更高版本可用。

  • Zstandard:自 MongoDB 4.2 及更高版本可用。

驱动程序对以下版本的库进行了测试:

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

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

如果您指定了多个压缩算法,驱动程序将选择您MongoDB实例支持的列表中的第一个。

注意

需要 Snappy 或 Zstandard 压缩的应用程序必须添加对那些算法的显式依赖项

您可以通过指定算法以两种方式之一启用与MongoDB实例的连接压缩。选择连接字符串MongoClientSettings标签以查看相应的语法

  • 在连接字符串的compressors参数中

  • 在连接到MongoClientSettings.builder()方法的compressorList方法链中

以下示例显示了如何指定所有压缩算法

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);

JDK 原生支持 Zlib 压缩。然而,Snappy 和 Zstandard 依赖于开源 Java 实现。有关这些实现的更多信息,请参阅以下 Github 页面

要了解更多关于本指南中讨论的任何方法和类型的信息,请参阅以下 API 文档

返回

TLS/SSL