Qatzstd 压缩器(原型)

此扩展的限定名称为 envoy.compression.qatzstd.compressor

注意

此扩展仅在 contrib 映像中可用。

注意

此扩展功能完备,但尚未在生产环境中进行大量使用,请注意此问题。

此扩展旨在对不受信任的下游和上游流量都具有鲁棒性。

提示

此扩展扩展并可用于以下扩展类别

Qatzstd 配置概述.

extensions.compression.qatzstd.compressor.v3alpha.Qatzstd

[extensions.compression.qatzstd.compressor.v3alpha.Qatzstd proto]

{
  "compression_level": {...},
  "enable_checksum": ...,
  "strategy": ...,
  "chunk_size": {...},
  "enable_qat_zstd": ...,
  "qat_zstd_fallback_threshold": {...}
}
compression_level

(UInt32Value) 根据预定义的压缩级别表设置压缩参数。请注意,确切的压缩参数是动态确定的,具体取决于压缩级别和源内容大小(如果已知)。值 0 表示默认值,默认级别为 3。

设置级别不会自动将所有其他压缩参数设置为默认值。但是,设置此值最终会动态影响尚未手动设置的压缩参数。手动设置的压缩参数将“保留”。

enable_checksum

(bool) 在帧末尾写入内容的 32 位校验和。如果未设置,则默认为 false。

strategy

(extensions.compression.qatzstd.compressor.v3alpha.Qatzstd.Strategy) 所选策略的值越高,其复杂度就越高,导致压缩更强,速度更慢。

特殊情况:值 0 表示“使用默认策略”。

chunk_size

(UInt32Value) 压缩器下一个输出缓冲区的值。如果未设置,则默认为 4096。

enable_qat_zstd

(bool) 是否启用 QAT 来加速 Zstd 压缩。如果未设置,则默认为 false。

这在用户希望在一段时间内启用 QAT,而在另一段时间内禁用 QAT 的情况下很有用,他们不必过多地更改配置或为另一个具有软件 zstd 压缩器的配置做准备,只需更改此字段的值即可。

qat_zstd_fallback_threshold

(UInt32Value) 当输入大小小于此值时,回退到软件以进行 Qatzstd。仅在 enable_qat_zstdtrue 时有效。0 表示根本不回退。如果未设置,则默认为 4000。

枚举 extensions.compression.qatzstd.compressor.v3alpha.Qatzstd.Strategy

[extensions.compression.qatzstd.compressor.v3alpha.Qatzstd.Strategy proto]

引用 http://facebook.github.io/zstd/zstd_manual.html

DEFAULT

(DEFAULT)

FAST

DFAST

GREEDY

LAZY

LAZY2

BTLAZY2

BTOPT

BTULTRA

BTULTRA2