Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure proporciona varios servicios para entregar eventos y mensajes a lo largo de una solución. Cada servicio tiene como destino diferentes escenarios, desde el enrutamiento de eventos reactivos hasta el streaming de alto rendimiento a la mensajería transaccional de nivel empresarial.
En este artículo se comparan los siguientes servicios:
Elección de un servicio candidato
Esta sección le ayuda a seleccionar los servicios más adecuados a sus necesidades.
Use la tabla siguiente para restringir rápidamente qué servicio se ajusta a su escenario:
| Criterio | Cuadrícula de Eventos | Event Hubs | Bus de Servicio |
|---|---|---|---|
| Propósito principal | Enrutamiento de eventos reactivos | Streaming e ingesta de macrodatos | Mensajería transaccional de empresa |
| Modelo de datos | Eventos (notificaciones discretas) | Flujos de eventos (serie ordenada por tiempo) | Mensajes (cargas de alto valor) |
| Garantía de entrega | Al menos una vez | Al menos una vez | Al menos una vez (ordenado opcionalmente, exactamente una vez con sesiones) |
| Cuándo se deben usar | Reacción a los cambios de estado, arquitecturas sin servidor | Telemetría, streaming de datos distribuidos, análisis en tiempo real | Procesamiento de pedidos, transacciones financieras, flujos de trabajo |
El resultado de esta sección es un punto de partida para tener en cuenta. Use las secciones siguientes para realizar una evaluación detallada de los servicios.
Eventos frente a mensajes en los servicios de mensajería de Azure
Hay una distinción importante entre Azure servicios que entregan un evento y servicios que entregan un mensaje.
Evento: notificación ligera de un cambio de estado o condición. El publicador no tiene ninguna expectativa sobre cómo se controla el evento. Los eventos pueden ser discretos (notificar un cambio de estado que sea accionable) o parte de una serie ordenada por tiempo (notificar una condición que se pueda analizar). Los eventos discretos funcionan muy bien con soluciones sin servidor que necesitan escalarse.
Mensaje: Datos sin procesar generados por un servicio que se van a consumir o almacenar en otro lugar. El mensaje contiene los datos que desencadenó la canalización del mensaje. Existe un contrato entre el publicador y el consumidor. Por ejemplo, el publicador envía un mensaje con datos sin procesar y espera que el consumidor cree un archivo a partir de esos datos y envíe una respuesta cuando finalice el trabajo.
Escalabilidad y rendimiento
En la tabla siguiente se compara cómo Azure Event Grid, Azure Event Hubs y Azure Service Bus controlan la escalabilidad y el rendimiento.
| Criterio | Cuadrícula de Eventos | Event Hubs | Bus de Servicio |
|---|---|---|---|
| Rendimiento | Escalable dinámicamente, sin servidor | Millones de eventos por segundo | Entrega asincrónica confiable |
| Modelo de latencia | Entrega de eventos casi en tiempo real | Streaming de baja latencia | Con intermediario y con sondeo largo opcional |
| Modelo de escalado | Automático (sin servidor) | Unidades de rendimiento / unidades de procesamiento | Unidades de mensajería (Premium) |
Características de mensajería
En la tabla siguiente se comparan las características de mensajería de Azure Event Grid, Azure Event Hubs y Azure Service Bus.
| Criterio | Cuadrícula de Eventos | Event Hubs | Bus de Servicio |
|---|---|---|---|
| Protocolo | MQTT, HTTP | AMQP, Kafka, HTTP | AMQP, HTTP |
| Pub/Sub | Sí (publicación-suscripción) | Sí (grupos de consumidores) | Sí (temas y suscripciones) |
| Ordenación | Sin garantía | Por partición | FIFO (sesiones) |
| Transacciones | No | No | Sí |
| Detección de duplicados | No | No | Sí |
| Mensajes fallidos | Sí | No | Sí |
| Procesamiento por lotes | Sí | Sí (lotes de eventos) | Sí (sesiones) |
| Captura y reproducción | No | Sí (Captura de Event Hubs) | No |
Integración e implementación
En la tabla siguiente se comparan las opciones de integración e implementación de Azure Event Grid, Azure Event Hubs y Azure Service Bus.
| Criterio | Cuadrícula de Eventos | Event Hubs | Bus de Servicio |
|---|---|---|---|
| integración del servicio Azure | Integración profunda con servicios de Azure y servicios de terceros | Infraestructuras de procesamiento de flujos y servicios de análisis | Aplicaciones empresariales, nube híbrida, conectividad local |
| Ediciones | Azure Event Grid (PaaS), Event Grid en Kubernetes con Azure Arc | Estándar, Premium, Dedicado | Básico, Estándar, Premium |
Uso de Event Grid, Event Hubs y Service Bus juntos
En algunos casos, puede utilizar servicios en paralelo para cumplir con distintos roles. Por ejemplo, un sitio de comercio electrónico puede usar Service Bus para procesar pedidos, Event Hubs para capturar la telemetría del sitio y Event Grid para responder a eventos como el envío de un artículo.
En otros casos, puede vincularlos juntos para formar una tubería de eventos y datos. Use Event Grid para responder a los eventos en los otros servicios. Para obtener un ejemplo de uso de Event Grid con Event Hubs para migrar datos a Azure Synapse Analytics, consulte Transmisión de macrodatos a Azure Synapse Analytics. En la siguiente imagen se muestra el flujo de trabajo para el streaming de datos.