La plataforma de edge cloud de Fastly

Volver al blog

Síguenos y suscríbete

Sólo disponible en inglés

Por el momento, esta página solo está disponible en inglés. Lamentamos las molestias. Vuelva a visitar esta página más tarde.

Enrutamiento de peticiones sin código

Shane Burgess

Senior Product Manager, Fastly

Las aplicaciones modernas no se alojan en un único origen. Tienes servidores de API, recursos estáticos, servicios de autenticación y flujos de medios, y cada uno de ellos necesita que el tráfico se redirija correctamente. Para conseguirlo, había que realizar una configuración compleja: múltiples dominios, VCL personalizada, código de procesamiento situado delante del origen o el uso de encadenamiento de servicios.

El enrutamiento de peticiones te lo pone más fácil.

Un dominio, múltiples servicios

Con el enrutamiento de peticiones, puedes definir reglas basadas en rutas en cualquier dominio de nuestro sistema de gestión de dominios, y nosotros enviamos cada solicitud al servicio adecuado automáticamente, sin necesidad de código personalizado.

Aloja tus páginas de marketing en una CDN estática, tu API en un backend en contenedores y tus archivos multimedia en un almacenamiento de objetos, todo bajo un mismo dominio. Redirige /api/* a tu servidor de aplicaciones, /assets/* a S3 y /auth/* a tu proveedor de identidad: una solución sencilla, rápida y totalmente declarativa.

Casos de uso

  • Orquestación de microservicios: dirige diferentes versiones de la API a servicios concretos, ya sean heredados o modernos.

  • Localización geográfica: dirige a los usuarios de países concretos a servidores de origen localizados para reducir la latencia.

  • Test A/B y despliegues piloto: usa la coincidencia basada en encabezados para redirigir un porcentaje del tráfico a servicios de prueba o beta.

Cómo funciona

Las configuraciones de redireccionamientos se encuentran en el menú de navegación de primer nivel Dominios del panel de control. Puedes crear reglas complejas utilizando los tres tipos principales de condiciones. En esta primera versión solo se admitirán los encabezados; los demás tipos de condiciones estarán disponibles próximamente. 

  • Encabezado: coincidencia basada en encabezados HTTP como versiones de API o User-Agents.

  • Geo: redirige el tráfico según la ubicación geográfica del usuario, como los códigos de país.

  • IP: filtra y redirige según direcciones IP o rangos específicos.

En esta versión, puedes comprobar si el valor de un encabezado empieza por, termina en, es igual a o contiene una cadena determinada. Cada ruta puede definir varias reglas, y cada regla tiene una acción asociada. La acción determina qué ocurre cuando/si se cumple una condición. Para esta versión inicial, ofrecemos una acción «service» que toma un ID de servicio como valor (tenemos previsto añadir otros tipos de acciones próximamente). Cada ruta requiere una acción por defecto, es decir, una ruta alternativa para cuando no se cumpla ninguna regla.

Aquí tienes un ejemplo sencillo de cómo redirigir el tráfico según el encabezado de petición «User-Agent»:

Route configuration:
  Path: /example
    Rule:
      Condition: header User-Agent starts_with "Mozilla/5.0"
      Action: route to service-A
    Rule:
      Condition: header User-Agent starts_with "Mozilla/4.0"
      Action: route to service-B
    Default: route to service-C

El sistema evalúa las peticiones a /example de arriba abajo. La primera regla que coincida es la que se aplica; todo lo que no cumpla ninguna condición pasa a la regla predeterminada.

El flujo de trabajo «del borrador al despliegue»

El enrutamiento de peticiones garantiza la seguridad y aumenta la velocidad de desarrollo al seguir un flujo de trabajo optimizado «del borrador al despliegue»:

  1. Borrador: cuando empiezas a editar, creamos automáticamente un borrador clonando tu configuración activa.

  2. Configurar: añade rutas y define reglas. Cada configuración de redireccionamiento admite hasta 10 000 rutas, 20 reglas por ruta y 5 condiciones por regla.

  3. Vista previa: usa el punto final de la API de Structured Diff o la interfaz de usuario para revisar exactamente qué cambios has hecho antes de publicar.

  4. Activar: despliega tus cambios en el edge con una sola llamada. La validación estricta garantiza que cada ruta tenga una regla de alternativa.

  5. Reversión: almacenamos las cinco últimas versiones activas, lo que permite volver casi al instante a un estado que sabemos que funciona bien.

Comenzar

La función de enrutamiento de peticiones ya está disponible en todos los planes. Entra en tu panel de control para crear tu primera configuración, o echa un vistazo a la documentación para conocer la sintaxis de las reglas, la coincidencia con comodines y las opciones avanzadas.

¿Estás creando algo interesante con esto? Compártelo en la comunidad de Fastly o escríbenos al Soporte de Fastly.

¿Listo para empezar?

Ponte en contacto con nosotros