Service Extensions te permite usar extensiones para insertar código personalizado en la ruta de procesamiento de Media CDN. En esta página, se proporciona una descripción general de las extensiones de Media CDN.
Media CDN proporciona muchas funciones principales integradas para abordar los casos de uso más comunes de las redes de distribución de contenidos (CDN). Es posible que tengas requisitos que vayan más allá de estas capacidades. Por ejemplo, es posible que debas normalizar los encabezados para mejorar el almacenamiento en caché, usar un algoritmo de firma de URL personalizado o portar el comportamiento heredado de una CDN existente a Media CDN.
Puedes usar extensiones perimetrales (CdnEdgeExtension) para ejecutar complementos de WebAssembly (Wasm)
directamente en la red perimetral de Google
frente a la caché en la ruta de procesamiento de Media CDN.
Un recurso CdnEdgeExtension se conecta directamente a una implementación de EdgeCacheService
y ejecuta una o más cadenas de extensiones ordenadas (extensionChains).
Cada cadena de extensiones define condiciones de coincidencia (matchCondition.celExpression) de Common Expression Language (CEL) para evaluar de forma selectiva las solicitudes
en función de los nombres de host, las rutas de URL, los parámetros de consulta o los encabezados de las solicitudes HTTP.
Los complementos pueden acceder a los encabezados de solicitud y respuesta HTTP, y manipularlos, influir en la generación de claves de caché, validar tokens de autorización personalizados o firmas de URL, y entregar respuestas sintéticas. Para obtener más información, consulta la Figura 1.
Cómo funcionan las extensiones perimetrales de Media CDN
Cuando una solicitud de cliente llega a un EdgeCacheService que se extiende por una extensión perimetral, la extensión se ejecuta en la siguiente secuencia:
Evaluación de la condición de coincidencia: Media CDN extrae los atributos de la solicitud y evalúa las
extensionChainsordenadas definidas en laCdnEdgeExtension. Se ejecuta la primera cadena cuya expresión de CEL se evalúa comotruey se omiten todas las cadenas posteriores.Procesamiento del encabezado de la solicitud del complemento (
REQUEST_HEADERS): Los complementos configurados se ejecutan de forma secuencial. Puedes encadenar un máximo de dos complementos dentro de una sola cadena de extensiones. Los complementos pueden inspeccionar los encabezados HTTP reenviados y los atributos de Envoy, agregar o reescribir encabezados de la solicitud, o devolver una respuesta sintética directa al cliente.Coincidencia de ruta y selección de origen: Media CDN evalúa las reglas de enrutamiento y, luego, selecciona el origen de destino según la solicitud, incluidos los encabezados de la solicitud o las rutas de URL que modificaron los complementos.
Búsqueda de caché y recuperación de origen: Media CDN evalúa las claves de caché (que pueden incorporar encabezados de la solicitud o rutas de URL que los complementos modificaron), verifica el almacenamiento en caché perimetral y entrega contenido cuando se produce un acierto de caché o recupera contenido del origen seleccionado cuando se produce un error de caché.
Procesamiento del encabezado de respuesta del complemento (
RESPONSE_HEADERS): Después de que se recupera el contenido de la caché o del origen, los complementos configurados se ejecutan de forma secuencial. Luego, los encabezados de respuesta modificados se entregan al cliente descendente.Entrega al cliente: Los encabezados de respuesta y el cuerpo de la respuesta final se entregan al cliente.
¿Qué sigue?
- Crea un complemento
- Configura una extensión perimetral de Media CDN
- Descripción general de las extensiones de servicio