Proyecto: E-commerce Microservicios Simulado
Este proyecto es una simulación de un e-commerce real utilizando arquitectura de microservicios, con comunicación HTTP y RabbitMQ, y despliegue mediante Docker para poder levantar todos los servicios de manera rápida y sin complicaciones. La idea es replicar, de manera didáctica, cómo funcionaría un e-commerce completo, incluyendo registro de usuarios, manejo de productos, carrito de compras, órdenes, pagos, envíos, notificaciones y análisis de datos.
1️⃣ ¿Qué es una API Gateway?
Una API Gateway es un punto de entrada único para todas las solicitudes de clientes a tu sistema de microservicios.
- Función: recibe peticiones HTTP y las enruta al microservicio correspondiente.
- Ventajas:
- Oculta la complejidad de los microservicios al cliente.
- Permite autenticación, autorización y manejo de tokens.
- Soporta rate-limiting, caching y logging centralizado.
2️⃣ ¿Qué es y cómo funciona?
- La API Gateway recibe todas las solicitudes del frontend o aplicaciones externas.
- Analiza la ruta y el método HTTP para decidir a qué microservicio enviar la solicitud.
- Puede transformar, agregar o filtrar datos antes de enviarlos o antes de responder al cliente.
- También puede publicar eventos a un broker de mensajes (RabbitMQ) si se usa comunicación asíncrona.
3️⃣ ¿Por qué usar HTTP o RabbitMQ?
- HTTP → comunicación sincrónica, ideal para consultas rápidas o acciones que necesitan respuesta inmediata (ej.:
GET /products
).
- RabbitMQ → comunicación asíncrona, ideal para eventos o tareas que no requieren una respuesta inmediata (ej.:
user.created
, payment.succeeded
).
- HTTP → request-response directo (Donde el usuario necesita YA l respuesta).
- RabbitMQ → eventos, colas de tareas, notificaciones entre microservicios.
4️⃣ ¿Por qué usar una API Gateway en un e-commerce?