Guía de entrevistas técnicas de Arquitectura de Software
Lista de Preguntas
¿Qué diferencias existen entre un Api Gateway, Proxy y un Middleware?
API Gateway:
- Función Principal: Actúa como intermediario entre las aplicaciones de cliente y los servicios backend, proporcionando una interfaz unificada para gestionar, asegurar y optimizar el tráfico de la API.
- Características Clave: Enrutamiento de solicitudes, agregación de datos, transformación de datos, seguridad, gestión de versiones, control de tráfico, balanceo de carga, monitorización y registro.
- Uso Común: Gestión centralizada de API en arquitecturas de microservicios.
Proxy:
- Función Principal: Facilita la comunicación entre clientes y servidores, actuando como intermediario. Puede ser un servidor o un componente de red que reenvía las solicitudes del cliente al servidor y las respuestas del servidor al cliente.
- Características Clave: Enrutamiento de tráfico, ocultamiento de la topología del servidor, balanceo de carga y seguridad básica.
- Uso Común: Acceso a recursos en redes internas, ocultamiento de servidores backend, balanceo de carga.
Middleware:
- Función Principal: Software que actúa como puente entre diferentes aplicaciones o componentes de software. Se utiliza para facilitar la comunicación y la interoperabilidad entre sistemas distribuidos.
- Características Clave: Gestión de comunicación entre componentes, transformación de datos, seguridad, enrutamiento y coordinación.
- Uso Común: Integración de sistemas, manejo de mensajes entre aplicaciones, facilita la interacción entre componentes distribuidos.
Diferencias Clave:
Alcance y Funcionalidad:
- El API Gateway se centra específicamente en la gestión, seguridad y optimización de las API.
- El proxy actúa como intermediario en la comunicación entre clientes y servidores, generalmente proporcionando funciones básicas como enrutamiento y balanceo de carga.
- Middleware es un término amplio que abarca cualquier software que conecte o facilite la comunicación entre aplicaciones o componentes.
Complejidad y Funciones Adicionales:
- El API Gateway tiende a ser más complejo y ofrece funciones más avanzadas, como transformación de datos, control de tráfico y seguridad avanzada.
- El proxy suele ser más ligero y se enfoca en funciones básicas de red.
- Middleware puede variar en complejidad según su propósito específico, pero generalmente se utiliza para funciones de integración y comunicación.
Dominio de Uso:
- El API Gateway es especialmente útil en arquitecturas de microservicios para gestionar el tráfico de API.
- El proxy se utiliza para manejar la comunicación entre clientes y servidores, a menudo en el nivel de red.
- Middleware se utiliza en una variedad de escenarios para facilitar la comunicación entre componentes de software.
Ejemplos Comunes:
- API Gateway: AWS API Gateway, Kong, Apigee.
- Proxy: NGINX, Apache HTTP Server (cuando se utiliza como proxy).
- Middleware: RabbitMQ, Apache Camel, Express.js (en el contexto de aplicaciones web).
Suscribete a nuestro Newsletter y recibe información para mejorar tus conocimientos y posibilidad de conseguir un mejor empleo
Subscribete en LinkedIn