Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Patrón de enrutamiento de encabezados HTTP
El enrutamiento basado en encabezados le permite dirigirse al servicio correcto para cada solicitud especificando un encabezado HTTP en la solicitud HTTP. Por ejemplo, enviar el encabezado x-service-a-action: get-thing
le permitiría ir a get thing
desde Service A
. La ruta de la solicitud sigue siendo importante, ya que ofrece orientación sobre el recurso en el que está intentando trabajar.
Además de usar el enrutamiento de encabezados HTTP para las acciones, puede usarlo como un mecanismo para enrutar versiones, habilitar indicadores de características, pruebas A/B o necesidades similares. En realidad, es probable que utilices el enrutamiento de cabeceras con uno de los otros métodos de enrutamiento para crear un enrutamiento robusto APIs.
La arquitectura del enrutamiento de encabezados HTTP suele tener una capa de enrutamiento delgada delante de los microservicios que se enruta al servicio correcto y devuelve una respuesta, como se ilustra en el siguiente diagrama. Esta capa de enrutamiento podría cubrir todos los servicios o solo algunos servicios para permitir una operación como el enrutamiento basado en versiones.

Ventajas
Los cambios de configuración requieren un esfuerzo mínimo y se pueden automatizar fácilmente. Este método también es flexible y admite formas creativas de exponer solo las operaciones específicas que se desearían realizar en un servicio.
Desventajas
Al igual que con el método de enrutamiento por nombres de host, el enrutamiento de encabezados HTTP supone que usted tiene el control total sobre el cliente y puede manipular encabezados HTTP personalizados. Los proxies, las redes de entrega de contenido (CDNs) y los balanceadores de carga pueden limitar el tamaño del encabezado. Aunque es poco probable que esto sea motivo de preocupación, podría ser un problema según el número de encabezados y cookies que agregue.