┌───────┐ ┌────────┐ ┌────────┐ ┌──────┐ ┌────────┐ │Cliente│ │ServiceA│ │ServiceB│ │Broker│ │Consumer│ └───┬───┘ └────┬───┘ └────┬───┘ └───┬──┘ └────┬───┘ │ ╔════════════════════════════════════╗ │ │ │ ║ │ API publica (llamada directa) │ ║ │ │ │ ║ │───────────────────────────────>│ ║ │ │ │ ║ │ │ ║ │ │ │ ║ │ resultado │ ║ │ │ │ ║ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ║ │ │ │ ║ │ │ ║ │ │ │ ╚════════════════════════════════════╝ │ │ ╔═════════════════════════════════════════════════╗ │ │ ║ │ solicitud │ │ ║ │ │ ║ │───────────>│ │ ║ │ │ ║ │ │ │ ║ │ │ ║ │ │ petición HTTP │ ║ │ │ ║ │ │───────────────────────────────>│ ║ │ │ ║ │ │ │ ║ │ │ ║ │ │ respuesta │ ║ │ │ ║ │ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ║ │ │ ║ │ │ │ ║ │ │ ║ │ resultado │ │ ║ │ │ ║ │< ─ ─ ─ ─ ─ │ │ ║ │ │ ║ │ │ │ ║ │ │ ╚═════════════════════════════════════════════════╝ │ │ │ ╔════════════════════════════════════════════════════╤════════════════════╗ │ ║ Comunicacion asincrona entre componentes (eventos) │ │ ║ │ ╟────────────────────────────────────────────────────┘ │ ║ │ ║ │ publicar evento │ │ │ │ ║ │ ║ │─────────────────────────────────────────>│ │ │ ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ │ entregar evento │ ║ │ ║ │ │ │─────────────────────────>│ ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ │ confirmar procesamiento │ ║ │ ║ │ │ │< ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ │ ║ │ ║ │ │ │ │ │ ║ │ ╚════════════════════════════════════════════════════╧════════════════════╝ ┌───┴───┐ ┌────┴───┐ ┌────┴───┐ ┌───┴──┐ ┌────┴───┐ │Cliente│ │ServiceA│ │ServiceB│ │Broker│ │Consumer│ └───────┘ └────────┘ └────────┘ └──────┘ └────────┘