Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Referência de campos do ASMCompressor

Última atualização: Jun 28, 2026

O ASMCompressor é uma definição de recurso personalizado (CRD) que configure a compressão HTTP para comunicação entre serviços e tráfego de gateway no Service Mesh (ASM). Ele oferece suporte aos algoritmos Gzip e Brotli.

Funcionamento da compressão

Ao aplicar um recurso ASMCompressor, o ASM injeta um filtro de compressor no proxy sidecar Envoy das cargas de trabalho selecionadas. Esse filtro inspeciona os cabeçalhos de requisição e resposta para determinar se deve comprimir o conteúdo.

A compressão ocorre quando todas as condições abaixo são atendidas:

  • O tipo de conteúdo corresponde a um dos tipos MIME configurados.

  • O tamanho do conteúdo atinge o limiar mínimo.

  • Não há cabeçalho Content-Encoding existente.

A compressão de resposta vem ativada por padrão. A compressão de requisição permanece desativada por padrão e exige configuração explícita via request_direction_config.

Exemplo

O recurso ASMCompressor a seguir ativa a compressão Gzip nas respostas de cargas de trabalho com o rótulo app: httpbin, na porta de serviço 8080:

apiVersion: istio.alibabacloud.com/v1
kind: ASMCompressor
metadata:
  name: httpbin-compressor
  namespace: default
spec:
  workloadSelector:
    app: httpbin
  portNumber: 8080
  compressor_library:
    gzip:
      compression_level: DEFAULT
      window_bits: 12
      memory_level: 5
  response_direction_config:
    common_config:
      min_content_length: 256
      content_type:
        - application/json
        - text/html
        - text/plain
    disable_on_etag_header: true

Campos do ASMCompressor

Campo

Tipo

Obrigatório

Descrição

Padrão

workloadSelector

map\

Sim

Rótulos que selecione os pods onde a compressão será aplicada. O escopo dos rótulos restringe-se ao namespace do recurso ASMCompressor. Para mais informações, consulte WorkloadSelector.

--

isGateway

bool

Não

Defina como true para aplicar esta configuração a um gateway em vez de proxies sidecar.

false

portNumber

int

Sim

Porta de serviço na qual a compressão será aplicada. Para gateways, refere-se à porta do serviço de gateway.

--

compressor_library

CompressorLibrary

Não

Configurações do algoritmo de compressão para Gzip ou Brotli.

--

request_direction_config

RequestDirectionConfig

Não

Comportamento de compressão para requisições.

--

response_direction_config

ResponseDirectionConfig

Não

Comportamento de compressão para respostas.

--

per_route_configs

ASMCompressorPerRouteConfig

Não

Substituições de compressão no nível de rota. Suportado a partir do ASM V1.21.

--

Campos do CompressorLibrary

Campo

Tipo

Obrigatório

Descrição

Padrão

gzip

GzipCompressor

Não

Configurações de compressão Gzip.

--

brotli

BrotliCompressor

Não

Configurações de compressão Brotli.

--

Campos do GzipCompressor

Campo

Tipo

Obrigatório

Descrição

Padrão

window_bits

int

Não

Tamanho da janela para o buffer de compressão. Valores válidos: 9 a 15. Valores maiores melhoram a taxa de compressão, mas aumentam o uso de memória.

12

compression_level

string

Não

Equilíbrio entre taxa de compressão e velocidade. Valores válidos: BEST (maior taxa, mais lento), SPEED (menor taxa, mais rápido), DEFAULT (balanceado).

DEFAULT

memory_level

int

Não

Memória alocada para o estado interno de compressão. Valores válidos: 1 a 9. Valores maiores aceleram a compressão e melhoram a qualidade da saída, porém consomem mais memória.

5

compression_strategy

string

Não

Estratégia de compressão zlib. Escolha com base nas características dos dados a serem comprimidos. Para mais informações, consulte Estratégias de compressão.

DEFAULT_STRATEGY

Estratégias de compressão

Valor

Descrição

DEFAULT_STRATEGY

Selecionada automaticamente pelo zlib conforme as características dos dados de entrada. Adequada para a maioria dos casos de uso.

FILTERED

Otimizada para dados pré-processados por um filtro. Geralmente usada em compressão de múltiplas passagens para aumentar a taxa de compressão.

HUFFMAN_ONLY

Utiliza apenas codificação Huffman, sem o algoritmo LZ77. Estratégia mais rápida, porém com a menor taxa de compressão.

RLE

Codificação run-length. Mais indicada para dados com longas sequências de bytes repetidos.

FIXED

Emprega um dicionário de compressão fixo e predefinido. Útil quando os dados seguem padrões conhecidos e previsíveis.

Campos do BrotliCompressor

Campo

Tipo

Obrigatório

Descrição

Padrão

window_bits

int

Não

Tamanho da janela para o buffer de compressão. Valores válidos: 10 a 24. Valores maiores melhoram a taxa de compressão, mas aumentam o uso de memória.

18

quality

int

Não

Nível de qualidade da compressão. Valores válidos: 0 a 11. Valores mais altos geram saídas menores, mas demandam mais tempo de processamento.

3

Campos do RequestDirectionConfig

Campo

Tipo

Obrigatório

Descrição

Padrão

common_config

CommonConfig

Não

Comportamento do filtro para compressão de requisições.

--

Campos do ResponseDirectionConfig

Campo

Tipo

Obrigatório

Descrição

Padrão

common_config

CommonConfig

Não

Comportamento do filtro para compressão de respostas.

--

disable_on_etag_header

bool

Não

Se true, ignora a compressão quando a resposta inclui um cabeçalho ETag. Isso preserva o ETag para fins de cache.

false

remove_accept_encoding_header

bool

Não

Se true, remove o cabeçalho Accept-Encoding da requisição antes de encaminhá-la ao serviço upstream. Isso impede que o upstream comprima a resposta, permitindo que o filtro Envoy gerencie a compressão.

false

Campos do CommonConfig

Campo

Tipo

Obrigatório

Descrição

Padrão

min_content_length

int

Não

Tamanho mínimo do corpo da resposta, em bytes, para acionar a compressão. Respostas muito pequenas podem não se beneficiar da compressão. No Gzip, taxas melhores exigem maior custo de CPU; portanto, teste diferentes limiares para equilibrar desempenho e largura de banda.

--

content_type

string[]

Não

Tipos MIME elegíveis para compressão. Apenas respostas cujo Content-Type corresponda a uma entrada nesta lista serão comprimidas.

Veja abaixo

Valores padrão de content_type:

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

Campos do ASMCompressorPerRouteConfig

A configuração por rota substitui as definições globais de compressão para rotas específicas. Por exemplo, você pode desativar a compressão em uma rota de verificação de integridade e mantê-la ativa para todo o restante do tráfego.

Campo

Tipo

Obrigatório

Descrição

Padrão

route_match

RouteConfigurationMatch

Sim

Selecione a rota à qual esta substituição se aplica.

--

disabled

bool

Sim

Defina como true para desativar a compressão na rota correspondente.

false

Campos do RouteConfigurationMatch

Campo

Tipo

Obrigatório

Descrição

Padrão

portNumber

uint32

Não

Corresponde a uma porta de serviço específica ou a uma porta de servidor específica no Gateway. Se omitido, todas as portas serão correspondidas.

--

portName

string

Não

Correspondência pelo portName de um servidor no Gateway. Aplica-se apenas quando a política de compressão tem como alvo um gateway.

--

gateway

string

Não

Gateway a ser correspondido, no formato namespace/name. Aplica-se apenas quando a política de compressão tem como alvo um gateway. Use em conjunto com portName e portNumber para selecione um servidor específico dentro do Gateway.

--

vhost

CommonVirtualHostMatch

Não

Corresponde a um host virtual específico.

--

name

string

Não

Nome da configuração de rota do Envoy a ser correspondida. Requer familiaridade com a configuração subjacente do Envoy.

--

Campos do CommonVirtualHostMatch

Campo

Tipo

Obrigatório

Descrição

Padrão

name

string

Não

Nome do host virtual gerado pelo plano de controle, no formato host:port. O valor de host corresponde ao campo host do VirtualService associado ou ao nome de domínio totalmente qualificado (FQDN) do serviço no cluster.

--

route

CommonRouteMatch

Não

Corresponde a uma rota específica dentro do host virtual.

--

Campos do CommonRouteMatch

Campo

Tipo

Obrigatório

Descrição

Padrão

name

string

Não

Nome da rota a ser correspondida. Rotas geradas por padrão recebem o nome default. Se houver um VirtualService configurado, utilize o nome da rota HTTP definida nele.

--

action

string

Não

Correspondência de rotas por tipo de ação. Valores válidos: ROUTE, REDIRECT, DIRECT_RESPONSE, ANY.

ANY

Tópicos relacionados