全部產品
Search
文件中心

Alibaba Cloud Service Mesh:ASMCompressor CRD說明

更新時間:Jun 30, 2024

在ASM中,ASMCompressor用於進行壓縮設定。本文介紹ASMCompressor的欄位說明。

ASMCompressor配置

欄位

類型

是否必選

說明

workloadSelector

map<string, string>

通過一個或多個標籤,指明配置生效的一組特定的Pod。標籤搜尋的範圍限制在資源所在的配置命名空間。更多資訊,請參見WorkloadSelector

isGateway

bool

配置為true,表示配置作用於網關。預設為false。

portNumber

int

對應的服務連接埠。如果關連網關,對應該網關定義的連接埠值。

compressor_library

CompressorLibrary

壓縮庫配置。

request_direction_config

RequestDirectionConfig

請求方向配置。

response_direction_config

ResponseDirectionConfig

回應程式向配置。

per_route_configs

ASMCompressorPerRouteConfig

路由層級的壓縮配置(ASM1.21開始支援)。

CompressorLibrary壓縮庫配置

欄位

類型

是否必選

說明

gzip

GzipCompressor

Gzip壓縮配置。

brotli

BrotliCompressor

Brotli壓縮配置。

GzipCompressor壓縮配置

欄位

類型

是否必選

說明

預設值

window_bits

int

視窗位大小,取值為[9,15]。取值越大,壓縮效果越好,但記憶體消耗越大。

12

compression_level

string

壓縮層級,將影響壓縮速度和壓縮大小。取值:

  • BEST:高壓縮,高延遲。

  • SPEED:低壓縮,低延遲。

  • DEFAULT:最佳化的壓縮,將介於BEST和SPEED之間。

DEFAULT

memory_level

int

記憶體層級,取值為[1,9]。控制壓縮庫記憶體的使用量,值越高記憶體消耗越大,但是壓縮速度更快,壓縮結果更好。

5

compression_strategy

string

用於選擇zlib壓縮策略的值,該策略與內容的特性直接相關。取值:

  • DEFAULT_STRATEGY:表示預設的壓縮策略。這種策略由zlib庫根據輸入資料的特性自動選擇,以獲得最佳的壓縮效果。

  • FILTERED:表示使用帶過濾器的壓縮策略。這種策略通常用於多次壓縮資料流,以提高壓縮比。

  • HUFFMAN_ONLY:表示僅使用Huffman編碼的壓縮策略。這種策略通常用於只使用Huffman編碼而不使用LZ77演算法的情況。

  • RLE:表示使用行程編碼(Run-Length Encoding)的壓縮策略。這種策略通常用於具有大量連續重複字元或連續重複模式的資料。

  • FIXED:表示使用固定字典的壓縮策略。這種策略通常用於特定資料模式的壓縮,其中壓縮字典事先已知或預定義。

DEFAULT_STRATEGY

BrotliCompressor壓縮配置

欄位

類型

是否必選

說明

預設值

window_bits

int

視窗位大小,取值為[10,24]。取值越大,壓縮效果越好,但記憶體消耗越大。

18

quality

int

控制壓縮速度,取值為[0,11]。品質越高,壓縮速度越慢。

3

RequestDirectionConfig請求方向配置

欄位

類型

是否必選

說明

預設值

common_config

CommonConfig

請求方向上過濾器行為的配置。

ResponseDirectionConfig回應程式向配置

欄位

類型

是否必選

說明

預設值

common_config

CommonConfig

回應程式向上過濾器行為的配置。

disable_on_etag_header

bool

如果為true,當響應包含etag標題時禁用壓縮。

false

remove_accept_encoding_header

bool

如果為true,在將請求標題指派到上遊之前從請求標題中刪除接受編碼,以便響應在到達過濾器之前不會被壓縮。

false

CommonConfig配置

欄位

說明

預設值

min_content_length

啟用壓縮的內容最小長度。需要進行多次請求實驗才能找到最適合的配置最佳值。Gzip壓縮是一種依賴更多的CPU來換取壓縮的方式,並可能帶來更多的延遲。

content_type

對哪些類型啟用壓縮。

“application/javascript”, “application/json”, “application/xhtml+xml”, “image/svg+xml”, “text/css”, “text/html”, “text/plain”, “text/xml”

ASMCompressorPerRouteConfig路由層級配置

欄位

類型

是否必須

說明

route_match

RouteConfigurationMatch

選擇生效的具體路由。

disabled

bool

預設false。為true時,會為指定路由禁用壓縮功能。

RouteConfigurationMatch選擇具體路由

欄位

類型

是否必須

說明

portNumber

uint32

服務連接埠或者網關規則中server的連接埠。如果是空,則視為匹配所有連接埠。

portName

string

只有當應用在網關上時才生效。可以在這裡指定網關規則中server的portName

gateway

string

指定網關規則的命名空間和名稱,格式為namespace/name。只有當應用在網關上時才可以配置這個欄位。將這個欄位和portName以及portNumber配合使用,可以準確的選中一個網關規則中的server。

vhost

CommonVirtualHostMatch

匹配一個virtual host。

name

string

要匹配的route configuration的名稱。該配置需要對envoy配置比較熟悉。

CommonVirtualHostMatch匹配具體vhost

欄位

類型

是否必須

說明

name

string

控制面最終產生的VirtualHosts名稱,格式為host:port。其中host對應VirtualService的host欄位或者叢集中的Service名稱(FQDN)。

route

CommonRouteMatch

匹配vhost中一個具體路由。

CommonRouteMatch匹配vhost中具體的route

欄位

類型

是否必須

說明

name

string

預設產生的route名稱為default。如果配置了VirtualService,則需要填寫其中HTTP route的名稱。

action

string

匹配指定的action類型。可選的值為:ROUTE、REDIRECT、DIRECT_RESPONSE以及ANY。預設為ANY。

相關文檔

使用ASMCompressor定義應用服務間調用的壓縮配置