Docs 菜单
Docs 主页
/ / /
Java Reactive Streams 驱动程序
/

压缩网络流量

在此页面上

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

Java Reactive Streams驾驶员提供了一个连接选项来压缩消息,从而减少了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实例的连接启用压缩。 选择 Connection StringMongoClientSettings标签页,查看相应的语法:

  • 在连接string的 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