Upstreams
" Equilibra el tráfico de tu API para un rendimiento óptimo "
¿Por qué son importantes los Upstreams? Los Upstreams son fundamentales para distribuir el tráfico entre varios servidores o instancias de un servicio backend. Al implementar Upstreams, puedes asegurarte de que tu API sea escalable y que el tráfico no sobrecargue un solo servidor, mejorando la resiliencia y el rendimiento general del sistema. Además, los Upstreams permiten realizar balanceo de carga, gestionando el tráfico de manera inteligente y asegurando que tus servicios estén siempre disponibles.
Esta interfaz, está diseñada para visualizar, crear y editar los upstreams en la instancia de Kong seleccionada. Los upstreams permiten distribuir el tráfico entrante entre varios servidores backend, configurando el balanceo de carga para mejorar el rendimiento y la disponibilidad de los servicios. En resumen, los Upstreams mejoran el rendimiento, la resiliencia y la escalabilidad de los servicios administrados por Kong.

A través de esta interfaz, los usuarios pueden gestionar los upstreams, añadiendo o eliminando targets (objetivos) y configurando parámetros como el peso de cada servidor o las políticas de balanceo. Esto garantiza que las solicitudes se distribuyan de manera eficiente y que el servicio se mantenga operativo incluso en escenarios de alta demanda o fallos de servidores individuales.
La interfaz Upstreams despliega una lista de los upstreams existentes, mostrando la siguiente información clave:
- Name: El nombre del upstream, que identifica el grupo de servidores backend.
- Tags: Etiquetas asociadas al upstream, útiles para organizar y clasificar.
- Algorithm: El algoritmo de balanceo de carga utilizado (por ejemplo, round-robin, least-connections).
- Slots: La cantidad de "slots" disponibles para el balanceo, que definen cómo se distribuyen las solicitudes entre los servidores. Created: La fecha de creación del upstream para fines de auditoría y seguimiento.
- Actions: Opciones para Show, Edit o Remove, permitiendo una gestión eficiente.
Esta vista facilita el monitoreo y la administración de los upstreams, asegurando un control completo sobre el balanceo de carga y la distribución del tráfico en la instancia de Kong
Opciones sobre los Upstreams:
-
Create
Esta interfaz ofrece la funcionalidad de Crear, permitiendo a los usuarios añadir nuevos upstreams para gestionar y distribuir el tráfico entrante entre varios servidores backend.
Al seleccionar la opción Crear Upstreams, se despliega el siguiente formulario:

Donde los usuarios pueden configurar los siguientes parámetros clave:
-
Name: Nombre del upstream que lo identifica en el sistema.
-
Algorithm: Algoritmo de balanceo de carga (como round-robin, least-connections, etc.).
-
Hash on: Campo que define la base de la función hash (por ejemplo, IP address, header).
-
Hash on header: Encabezado a usar si se selecciona "header" en hash on.
-
Hash fallback: Parámetro para definir un método de fallback si hash on no es válido.
-
Hash fallback header: Encabezado a usar si se selecciona "header" en hash fallback.
-
Hash on cookie: Nombre de la cookie si se usa la opción de hash on cookie.
-
Hash on cookie path: Path asociado a la cookie.
-
Slots: Número de ranuras que definen cómo se distribuyen las solicitudes entre los servidores.
-
Tags: Etiquetas para organizar y clasificar el upstream.
-
Host Header: Encabezado de host utilizado para enrutamiento de solicitudes.
-
Client Certificate: Certificado de cliente para conexiones seguras.
-
Active health checks: esta opción permite configurar la verificación activa de la salud del servicio, al seleccionar se solicita la siguiente información:
- Verify validity of the certificate: Opción para validar la validez del certificado.
- HTTP Path: Ruta HTTP utilizada en las verificaciones activas.
- Timeout: Tiempo máximo antes de que una verificación sea considerada fallida.
- HTTPS SNI: Nombre de servidor utilizado en la verificación HTTPS.
- Concurrency: Nivel de concurrencia para las verificaciones.
- Health Checks Active Type: Tipo de verificación activa (por ejemplo, HTTP).
- Health Checks Active Unhealthy HTTP Statuses: Listado de códigos de estado HTTP que indican que el servicio está no saludable.
- Health Checks Active TCP Failures: Número de fallos TCP que se consideran para marcar un servicio como no saludable.
- Health Checks Active Timeouts: Tiempos de espera que definen un fallo.
- Health Checks Active HTTP Failures: Número de fallos HTTP necesarios para marcar un servicio como no saludable.
- Health Checks Active Unhealthy Interval: Intervalo entre verificaciones para un servicio marcado como no saludable.
- Health Checks Active Healthy HTTP Statuses: Códigos HTTP que indican que el servicio está saludable.
- Health Checks Active Healthy Interval: Intervalo entre verificaciones para un servicio saludable.
- Health Checks Active Healthy Successes Number: Número de respuestas exitosas necesarias para marcar un servicio como saludable.
-
Passive health checks: esta opción permite configurar la verificación pasiva de la salud del servicio, al seleccionar se solicita la siguiente información:
- Health Checks Passive Type: Tipo de verificación pasiva (HTTP, TCP, etc.).
- Health Checks Passive HTTP Failures: Número de fallos HTTP que se consideran en la verificación pasiva.
- Health Checks Passive TCP Failures: Número de fallos TCP que se consideran en la verificación pasiva.
- Health Checks Passive Timeouts: Tiempo de espera que se considera un fallo en la verificación pasiva.
- Health Checks Passive HTTP Statuses: Códigos HTTP usados para la verificación pasiva.
- Health Checks Passive Successes Number: Número de éxitos necesarios para marcar un servicio como saludable.
- Health Checks Passive Healthy HTTP Statuses: Códigos de estado HTTP que indican que el servicio está saludable.
Este formulario de creación de Upsgtreams, permite una configuración detallada, asegurando un control preciso sobre el balanceo de carga y la monitorización del estado de los servidores backend.
-
-
Show Upstreams
La opción Show permite visualizar los detalles completos de un upstream seleccionado.
Esta vista facilita la revisión de la configuración y estado del upstream, proporcionando un control detallado sobre cómo se distribuye el tráfico entre los servidores backend en la instancia de Kong.
La información que se despliega incluye:
- name: Nombre del upstream.
- slots: Número de ranuras disponibles para el balanceo
- id: Identificador único del upstream.
- hash_on_header: Encabezado utilizado para el hashing.
- tags: Etiquetas asociadas al upstream.
- algorithm: Algoritmo de balanceo de carga (por ejemplo, round-robin).
- host_header: Encabezado del host utilizado.
- hash_on: Campo base para el hashing (por ejemplo, IP o encabezado).
- hash_on_cookie: Nombre de la cookie utilizada para el hashing.
- hash_on_cookie_path: Path asociado a la cookie utilizada para el hashing.
- hash_fallback: Método de hashing en caso de fallo.
- hash_fallback_header: Encabezado utilizado para el fallback de hashing.
- created_at: Fecha de creación del upstream.
- client_certificate: Certificado del cliente para conexiones seguras.
- healthchecks: Detalles de las verificaciones de salud (health checks).
- threshold: Umbral de éxito para las verificaciones de salud.
- active: Verificaciones de salud activas
- https_verify_certificate: Verificación de certificado HTTPS.
- http_path: Ruta HTTP utilizada en las verificaciones.
- healthy: Condiciones para marcar un servicio como saludable.
- unhealthy: Condiciones para marcar un servicio como no saludable.
- type: Tipo de verificación activa (HTTP, TCP, etc.).
- https_sni: Nombre de servidor utilizado para HTTPS.
- concurrency: Nivel de concurrencia en las verificaciones.
- timeout: Tiempo de espera antes de que una verificación falle.
- passive: Verificaciones de salud pasivas.
- type: Tipo de verificación pasiva (HTTP, TCP, etc.).
- healthy: Condiciones para marcar un servicio como saludable.
- successes: Número de éxitos necesarios para marcar un servicio como saludable.
- http_statuses: Códigos de estado HTTP que definen salud.
- unhealthy: Condiciones para marcar un servicio como no saludable.
- tcp_failures: Número de fallos TCP considerados para marcar como no saludable.
- timeouts: Tiempo de espera que indica un fallo.
Tal como se visualiza en la siguiente figura:

Esta información proporciona una visión detallada del upstream, lo que facilita su administración y garantiza que el tráfico se distribuya de manera eficiente entre los servidores backend.
-
Remove Upsgtreams (Eliminar)
La opción "Remove" permite eliminar upstreams de la instancia de Kong. Al seleccionar esta opción, el upstream seleccionado se elimina junto con su configuración, lo que desvincula los servidores backend asociados y detiene la distribución del tráfico a través de ese upstream. Esta funcionalidad es útil para mantener una gestión eficiente de los recursos, eliminando configuraciones que ya no sean necesarias.
Cuando se elige esta opción para un upstreams específico de la lista, se desplegará un mensaje solicitando confirmación para la eliminación, asegurando que el usuario revise y confirme la acción antes de proceder.

-
Edit Upstreams (Edit)
La opción Edit permite visualizar y modificar la información relevante del upstream seleccionado de la lista, en la instancia de Kong seleccionada. A través de esta opción, los usuarios pueden actualizar parámetros clave, como el nombre del upstream, el algoritmo de balanceo de carga, las configuraciones de salud activa y pasiva, y las opciones de hashing. Esto asegura que el upstream esté configurado de acuerdo con las necesidades actuales del sistema, optimizando la distribución del tráfico entre los servidores backend.
Por completar A LA ESPERA DE SU DESARROLLO