Elección de Azure Event Hubs

Completado

Hay determinadas aplicaciones que generan un gran número de eventos de casi tantos orígenes. A menudo escuchamos el término "macrodatos" aplicado a estas situaciones y requieren una infraestructura única para controlarlos.

Imagine que trabaja para Contoso Aircraft Engines. Los motores que el empleador fabrica tienen cientos de sensores. Antes de que un avión pueda volar cada mañana, sus motores se conectan a un arnés de prueba y se ponen a prueba. Además, los datos de vuelo almacenados en caché se transmiten cuando el avión se conecta al equipo de tierra.

Quiere usar datos de sensor históricos para buscar patrones en las lecturas de sensor que indiquen que es probable que se produzca un error del motor pronto. Quiere que las lecturas de sensor en tiempo real se comparen con estos patrones de error. Después, puede advertir a los usuarios prácticamente en tiempo real si un motor muestra lecturas preocupantes.

¿Qué es Azure Event Hubs?

Event Hubs es un intermediario para el patrón de comunicación de publicación y suscripción. Pero a diferencia de Event Grid, está optimizado para un rendimiento extremadamente alto, un gran número de publicadores, seguridad y resistencia.

Mientras que Event Grid se ajusta perfectamente al patrón de publicación y suscripción, ya que simplemente administra las suscripciones y enruta las comunicaciones a los suscriptores, Event Hubs realiza bastantes servicios adicionales. Estos servicios adicionales hacen que se parezca más a un bus de servicio o a una cola de mensajes que a un simple emisor de eventos.

Particiones

A medida que Event Hubs recibe las comunicaciones, las divide en particiones. Las particiones son los búferes en los que se guardan las comunicaciones. Debido a los búferes de eventos, los eventos no son efímeros y un evento no se pierde solo porque un suscriptor esté ocupado o incluso sin conexión. El suscriptor siempre puede usar el búfer para "ponerse al día". De forma predeterminada, los eventos permanecen en el búfer durante 24 horas antes de que expiren automáticamente. Los búferes se denominan particiones porque los datos se dividen entre ellos. Cada partición tiene un conjunto independiente de suscriptores.

Capture

Event Hubs puede enviar todos los eventos inmediatamente a Azure Data Lake o Azure Blob Storage para una persistencia permanente y económica.

Autenticación

Todos los publicadores se autentican y emiten un token. Esto significa que Event Hubs puede aceptar eventos de dispositivos externos y aplicaciones móviles, sin preocuparse de que los datos fraudulentos procedentes de usuarios malintencionados puedan arruinar el análisis.

Uso de Event Hubs

Event Hubs es compatible con la canalización de transmisiones de eventos a otros servicios de Azure. Por ejemplo, si se usa con Azure Stream Analytics, permite un análisis complejo de los datos casi en tiempo real, con la capacidad de poner varios eventos en correlación y buscar patrones. En este caso, Stream Analytics se consideraría un suscriptor.

Para nuestros motores de aviones, configuraremos nuestra arquitectura para que Event Hubs autentique las comunicaciones de los motores. Después, tendrá que usar la captura para guardar todos los datos en Data Lake. Más adelante, se pueden usar todos esos datos para volver a entrenar y mejorar los modelos de aprendizaje automático. Por último, los suscriptores de Stream Analytics recopilan las transmisiones de eventos. Stream Analytics usa nuestro modelo de Machine Learning para buscar patrones en los datos de sensor que podrían indicar problemas.

Como tenemos varias particiones y cada motor envía todos sus datos a una sola partición, cada instancia de nuestro suscriptor de Stream Analytics solo tiene que ocuparse de un subconjunto de todos los datos. No tiene que filtrarlos y correlacionarlos.

¿Qué servicio debo elegir?

Como sucede con la elección de la cola, elegir entre estos dos servicios de entrega de eventos puede parecer difícil al principio. Ambos admiten la semántica Al menos una vez.

Elija Event Hubs si:

  • Necesita admitir la autenticación de un gran número de publicadores.
  • Necesita guardar una transmisión de eventos en Data Lake o Blob Storage.
  • Necesita la agregación o el análisis en la transmisión de eventos.
  • Necesita mensajería de confianza o resistencia.

En caso contrario, si necesita una infraestructura simple de publicación y suscripción de eventos con editores de confianza (por ejemplo, su propio servidor web), debería elegir Event Grid.

Event Hubs permite crear una canalización de macrodatos capaz de procesar millones de eventos por segundo con una latencia baja. Puede controlar datos de orígenes simultáneos y dirigirlos a diversos servicios de análisis e infraestructuras de procesamiento de transmisiones. Permite el procesamiento en tiempo real y admite la reproducción repetida de datos sin procesar almacenados.