Diagrama de Despliegue - Bri0714/Rabbit-project GitHub Wiki
Este diagrama de despliegue muestra cómo se distribuyen los componentes de la aplicación de gestión de pedidos en distintos nodos (máquinas o procesos) y cómo interactúan a través de RabbitMQ.
-
Visualizar la infraestructura
Muestra en qué nodos (servidores, contenedores o procesos) corre cada componente. -
Entender la comunicación
Deja claro qué mensajes viajan entre qué nodos y por qué canales (exchanges/colas). -
Planificar despliegues reales
Al conocer la topología, podemos decidir cuántas instancias de cada servicio levantar, balanceo, alta disponibilidad, etc.
ProductorPedidos
- Interfaz de escritorio que captura los datos del pedido.
- Publica al Direct Exchange
direct_pedidos
conrouting_key=pedidos_nuevos
.
- Recibe nuevos pedidos y los enruta a
pedidos_nuevos
y, tras confirmación, aprocesados_logistica
.
- Recibe eventos de “pedido listo” y los replica a todas las colas de notificación.
-
pedidos_nuevos
: recibe cada nuevo pedido. -
procesados_logistica
: recibe pedidos confirmados para despacho. -
cola_email
: notificaciones de e-mail. -
cola_sms
: notificaciones de SMS. -
cola_auditoria
: registro de auditoría.
ConsumidorProcesaPedidos
- Consume de la cola
pedidos_nuevos
. - En su UI muestra un botón “Confirmar envío a logística”.
- Al confirmar publica:
- En
direct_pedidos
→routing_key=procesados_logistica
. - En
notificaciones_fanout
→ (fanout sin routing key).
- En
- Hace ack manual del mensaje original.
ConsumidorLogistica
- Consume de la cola
procesados_logistica
. - Muestra “📦 Pedido listo para envío” y hace ack al procesar.
ConsumidorEmail
- Consume de la cola
cola_email
. - Envía el correo de confirmación si el destinatario pertenece a
@ucentral.edu.co
.
ConsumidorSMS
- Consume de la cola
cola_sms
. - Envía SMS de confirmación vía Twilio (o Textbelt), prefijando
+57
si hace falta.
ConsumidorAuditoria
- Consume de la cola
cola_auditoria
. - Podría registrar cada confirmación en una base de datos o log central.