Pregunta garantizada en el AZ-305: Storage Queue vs Service Bus vs Event Grid vs Event Hubs. La clave está en distinguir mensajes (comandos con valor por unidad) de eventos (notificaciones) y streams (telemetría masiva).
Contenido
Mensaje (comando)
Evento (notificación)
Stream (telemetría)
📨Árbol de decisión — Mensajería y Eventos
Storage Queue · Service Bus · Event Grid · Event Hubs
Pregunta 1
¿Qué patrón de comunicación necesitas?
💡 La distinción fundamental: mensajes = comandos con procesamiento garantizado por unidad. Eventos = notificaciones "algo ocurrió". Streams = telemetría masiva re-leíble.
| Servicio | Paradigma | Diferenciadores | Anti-caso |
|---|---|---|---|
| Storage Queues | Cola simple | Barato, hasta 500 TB, mensajes 64 KB. Sin orden ni duplicate detection | FIFO, transacciones, pub/sub |
| Service Bus | Cola/tópicos enterprise | FIFO (sessions), dedup, transacciones, DLQ, tópicos pub/sub, AMQP. Premium: zonas + VNet | Telemetría masiva (caro por mensaje) |
| Event Grid | Eventos discretos push | Enrutado reactivo de eventos de servicios Azure y custom; filtros; push a handlers (Functions, webhooks); MQTT broker para IoT | Payloads grandes, garantías de cola de trabajo |
| Event Hubs | Streaming (log particionado) | Millones eventos/s, retención re-leíble, consumer groups, Kafka-compatible, Capture a storage | Comandos individuales con procesamiento garantizado por unidad |
Features que el examen señala
Modos de recepción y tiers
Fuentes y handlers
Garantías
Patrones combinados (muy de examen)
Los servicios se COMBINAN: Event Grid notifica "hay blob nuevo" → Function lo procesa → escribe comando en Service Bus → workers procesan con load leveling. O Event Hubs ingiere telemetría → Stream Analytics agrega → Event Grid dispara alertas. No son excluyentes.
| El escenario dice... | Respuesta |
|---|---|
| Pedidos procesados exactamente en orden por cliente | Service Bus con sessions (FIFO) |
| Eliminar mensajes duplicados por reintentos del emisor | Service Bus duplicate detection |
| Un pedido notifica a facturación, envíos y CRM a la vez | Service Bus topic con 3 subscriptions |
| Cola simple y barata para desacoplar, >80 GB | Storage Queues |
| Ejecutar una Function cuando se sube un blob | Event Grid → Function |
| Reaccionar a creación/borrado de recursos Azure | Event Grid (resource events) |
| 1M eventos/s de telemetría IoT | Event Hubs |
| Apps Kafka sin reescribir | Event Hubs (endpoint Kafka) |
| Varios equipos releen el mismo stream a su ritmo | Event Hubs consumer groups |
| Mensajería con aislamiento de red y zonas | Service Bus Premium + private endpoints |
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
Un sistema de pedidos requiere: (1) los pedidos de cada cliente deben procesarse en el orden exacto en que se enviaron, (2) los reintentos del cliente no deben generar pedidos duplicados, (3) los pedidos que fallen repetidamente deben apartarse para análisis sin bloquear la cola. ¿Qué servicio cumple los tres requisitos?
Inicia sesión para llevar tu progreso.