Todos los productos
Search
Centro de documentos

Alibaba Cloud Service Mesh:ASMCompressor field reference

Última actualización: Sep 29, 2026

ASMCompressor es una definición de recurso personalizado (CRD) que configura la compresión HTTP para la comunicación entre servicios y el tráfico de gateway en Service Mesh (ASM). Es compatible con los algoritmos Gzip y Brotli.

Cómo funciona la compresión

Cuando aplica un recurso ASMCompressor, ASM inyecta un filtro de compresión en el proxy sidecar de Envoy de las cargas de trabajo seleccionadas. Este filtro inspecciona los encabezados de solicitud y respuesta para determinar si se comprime el contenido.

La compresión se aplica cuando se cumplen todas las condiciones siguientes:

  • El tipo de contenido coincide con uno de los tipos MIME configurados.

  • La longitud del contenido alcanza el umbral mínimo.

  • No existe ningún encabezado Content-Encoding.

La compresión de respuestas está habilitada de forma predeterminada. La compresión de solicitudes está deshabilitada de forma predeterminada y debe configurarse explícitamente mediante request_direction_config.

Ejemplo

A continuación se muestra un recurso ASMCompressor que habilita la compresión Gzip en las respuestas de las cargas de trabajo etiquetadas con app: httpbin, en el puerto de servicio 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 de ASMCompressor

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

workloadSelector

map\

Sí

Etiquetas que seleccionan los pods donde se aplica la compresión. El alcance de las etiquetas se limita al namespace del recurso ASMCompressor. Para obtener más información, consulte WorkloadSelector.

--

isGateway

bool

No

Establezca este valor en true para aplicar esta configuración a un gateway en lugar de a los proxies sidecar.

false

portNumber

int

Sí

Puerto de servicio en el que se aplica la compresión. En los gateways, corresponde al puerto de servicio del gateway.

--

compressor_library

CompressorLibrary

No

Configuración del algoritmo de compresión para Gzip o Brotli.

--

request_direction_config

RequestDirectionConfig

No

Comportamiento de compresión para las solicitudes.

--

response_direction_config

ResponseDirectionConfig

No

Comportamiento de compresión para las respuestas.

--

per_route_configs

ASMCompressorPerRouteConfig

No

Anulaciones de compresión a nivel de ruta. Compatible desde ASM V1.21.

--

Campos de CompressorLibrary

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

gzip

GzipCompressor

No

Configuración de compresión Gzip.

--

brotli

BrotliCompressor

No

Configuración de compresión Brotli.

--

Campos de GzipCompressor

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

window_bits

int

No

Tamaño de ventana para el búfer de compresión. Valores válidos: de 9 a 15. Los valores más altos mejoran la relación de compresión, pero aumentan el uso de memoria.

12

compression_level

string

No

Equilibrio entre la relación de compresión y la velocidad. Valores válidos: BEST (mayor relación, menor velocidad), SPEED (menor relación, mayor velocidad), DEFAULT (equilibrado).

DEFAULT

memory_level

int

No

Memoria asignada al estado interno de compresión. Valores válidos: de 1 a 9. Los valores más altos aceleran la compresión y mejoran la calidad del resultado, pero incrementan el uso de memoria.

5

compression_strategy

string

No

Estrategia de compresión de zlib. Elija una opción según las características de los datos que se van a comprimir. Para obtener más información, consulte Estrategias de compresión.

DEFAULT_STRATEGY

Estrategias de compresión

Valor

Descripción

DEFAULT_STRATEGY

zlib la selecciona automáticamente según las características de los datos de entrada. Adecuada para la mayoría de los casos de uso.

FILTERED

Optimizada para datos preprocesados por un filtro. Se usa habitualmente en la compresión de múltiples pasadas para aumentar la relación de compresión.

HUFFMAN_ONLY

Utiliza únicamente la codificación Huffman, sin el algoritmo LZ77. Es la estrategia más rápida, aunque ofrece la menor relación de compresión.

RLE

Codificación por longitud de ejecución (run-length encoding). Ideal para datos con secuencias largas de bytes repetidos.

FIXED

Emplea un diccionario de compresión fijo y predefinido. Útil cuando los datos siguen patrones conocidos y predecibles.

Campos de BrotliCompressor

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

window_bits

int

No

Tamaño de ventana para el búfer de compresión. Valores válidos: de 10 a 24. Los valores más altos mejoran la relación de compresión, pero aumentan el uso de memoria.

18

quality

int

No

Nivel de calidad de la compresión. Valores válidos: de 0 a 11. Los valores más altos generan resultados más pequeños, pero tardan más en comprimirse.

3

Campos de RequestDirectionConfig

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

common_config

CommonConfig

No

Comportamiento del filtro para la compresión de solicitudes.

--

Campos de ResponseDirectionConfig

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

common_config

CommonConfig

No

Comportamiento del filtro para la compresión de respuestas.

--

disable_on_etag_header

bool

No

Si el valor es true, se omite la compresión cuando la respuesta incluye un encabezado ETag. Esto conserva el ETag para fines de almacenamiento en caché.

false

remove_accept_encoding_header

bool

No

Si el valor es true, se quita el encabezado Accept-Encoding de la solicitud antes de reenviarla al servicio upstream. De esta manera, se evita que el upstream comprima la respuesta y el filtro de Envoy se encarga de la compresión.

false

Campos de CommonConfig

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

min_content_length

int

No

Tamaño mínimo del cuerpo de respuesta, en bytes, para activar la compresión. Las respuestas muy pequeñas podrían no beneficiarse de la compresión. En Gzip, una mayor relación de compresión implica un costo de CPU más alto. Por lo tanto, pruebe distintos umbrales para equilibrar el rendimiento y el ancho de banda.

--

content_type

string[]

No

Tipos MIME aptos para la compresión. Solo se comprimen las respuestas cuyo Content-Type coincide con alguna entrada de esta lista.

Consulte a continuación

Valores predeterminados de content_type:

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

Campos de ASMCompressorPerRouteConfig

La configuración por ruta anula los ajustes globales de compresión en rutas específicas. Por ejemplo, puede deshabilitar la compresión en una ruta de comprobación de estado y mantenerla habilitada para el resto del tráfico.

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

route_match

RouteConfigurationMatch

Sí

Selecciona la ruta a la que se aplica esta anulación.

--

disabled

bool

Sí

Establezca este valor en true para deshabilitar la compresión en la ruta coincidente.

false

Campos de RouteConfigurationMatch

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

portNumber

uint32

No

Coincide con un puerto de servicio específico o con un puerto de servidor concreto en el Gateway. Si se omite, coinciden todos los puertos.

--

portName

string

No

Coincide según el portName de un servidor en el Gateway. Solo aplica cuando la política de compresión tiene como destino un gateway.

--

gateway

string

No

Gateway con el que se busca coincidencia, en formato namespace/name. Solo aplica cuando la política de compresión tiene como destino un gateway. Úselo junto con portName y portNumber para seleccionar un servidor específico dentro del Gateway.

--

vhost

CommonVirtualHostMatch

No

Coincide con un host virtual específico.

--

name

string

No

Nombre de la configuración de ruta de Envoy con la que se busca coincidencia. Requiere conocer la configuración subyacente de Envoy.

--

Campos de CommonVirtualHostMatch

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

name

string

No

Nombre del host virtual generado por el plano de control, en formato host:port. El valor de host corresponde al campo host del VirtualService asociado o al nombre de dominio completo (FQDN) del servicio en el clúster.

--

route

CommonRouteMatch

No

Coincide con una ruta específica dentro del host virtual.

--

Campos de CommonRouteMatch

Campo

Tipo

Obligatorio

Descripción

Valor predeterminado

name

string

No

Nombre de la ruta con la que se busca coincidencia. Las rutas generadas de forma predeterminada se denominan default. Si hay un VirtualService configurado, utilice el nombre de la ruta HTTP definida en dicho VirtualService.

--

action

string

No

Coincide con rutas según el tipo de acción. Valores válidos: ROUTE, REDIRECT, DIRECT_RESPONSE, ANY.

ANY

Temas relacionados