Gzip 压缩器(proto)

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

注意

此扩展旨在对不可信的下游流量具有鲁棒性。它假设上游是可信的。

提示

此扩展扩展了以下扩展类别,并且可以与之一起使用

此扩展必须使用以下类型 URL 之一进行配置

extensions.compression.gzip.compressor.v3.Gzip

[extensions.compression.gzip.compressor.v3.Gzip proto]

{
  "memory_level": {...},
  "compression_level": ...,
  "compression_strategy": ...,
  "window_bits": {...},
  "chunk_size": {...}
}
memory_level

(UInt32Value) 从 1 到 9 的值,控制 zlib 使用的内部内存量。较高的值使用更多内存,但速度更快,并且可以产生更好的压缩结果。默认值为 5。

compression_level

(extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel) 用于选择 zlib 压缩级别的值。此设置将影响应用于内容的速度和压缩量。“BEST_COMPRESSION” 提供更高的压缩率,但延迟更高,等效于“COMPRESSION_LEVEL_9”。“BEST_SPEED” 提供较低的压缩率,对响应时间的影响最小,与“COMPRESSION_LEVEL_1” 相同。“DEFAULT_COMPRESSION” 在速度和压缩之间提供了最佳结果。根据 zlib 的手册,此级别与“COMPRESSION_LEVEL_6” 的结果相同。如果未指定,此字段将设置为“DEFAULT_COMPRESSION”。

compression_strategy

(extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy) 用于选择 zlib 压缩策略的值,该策略与内容的特征直接相关。大多数情况下,“DEFAULT_STRATEGY” 将是最佳选择,它也是参数的默认值,尽管在某些情况下更改此参数可能会产生更好的结果。例如,当已知内容具有相同数据连续多次出现的序列时,通常使用行程长度编码 (RLE)。有关每种策略的更多信息,请参阅 zlib 手册。

window_bits

(UInt32Value) 从 9 到 15 的值,表示压缩器窗口大小的以 2 为底的对数。较大的窗口会导致更高的压缩率,但会以内存使用量为代价。默认值为 12,将生成 4096 字节的窗口。有关此参数的更多详细信息,请参阅 zlib 手册 > deflateInit2。

chunk_size

(UInt32Value) Zlib 的下一个输出缓冲区的值。如果未设置,则默认为 4096。有关更多详细信息,请参阅 https://www.zlib.net/manual.html。另请参阅 https://github.com/envoyproxy/envoy/issues/8448,了解有关此过滤器的性能的背景。

Enum extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy

[extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy proto]

此枚举的所有值都直接转换为 zlib 的压缩策略。有关每种策略的更多信息,请参阅 zlib 手册。

DEFAULT_STRATEGY

(DEFAULT)

FILTERED

HUFFMAN_ONLY

RLE

FIXED

Enum extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel

[extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel proto]

DEFAULT_COMPRESSION

(DEFAULT)

BEST_SPEED

COMPRESSION_LEVEL_1

COMPRESSION_LEVEL_2

COMPRESSION_LEVEL_3

COMPRESSION_LEVEL_4

COMPRESSION_LEVEL_5

COMPRESSION_LEVEL_6

COMPRESSION_LEVEL_7

COMPRESSION_LEVEL_8

COMPRESSION_LEVEL_9

BEST_COMPRESSION