Azure Event Hubs: una plataforma de streaming de macrodatos y un servicio de ingesta de eventos

Azure Event Hubs es una plataforma de streaming de macrodatos y un servicio de ingesta de eventos. Puede recibir y procesar millones de eventos por segundo. Los datos enviados a un centro de eventos se pueden transformar y almacenar con cualquier proveedor de análisis en tiempo real o adaptadores de procesamiento por lotes y almacenamiento.

Los siguientes escenarios son algunos de los casos donde se puede usar Event Hubs:

  • Detección de anomalías (fraude/valores atípicos)
  • Registro de aplicaciones
  • Canalizaciones de análisis, como secuencias de clics
  • Paneles dinámicos
  • Archivado de datos
  • Procesamiento de transacciones
  • Procesamiento de telemetría de usuario
  • Streaming de telemetría de dispositivo

¿Por qué usar Event Hubs?

Los datos solo son valiosos si existe una forma sencilla de procesarlos y de obtener información oportuna a partir de los orígenes de datos. Event Hubs ofrece una plataforma distribuida de procesamiento de secuencias con baja latencia e integración perfecta, con servicios de datos y análisis dentro y fuera de Azure para crear una canalización de macrodatos completa.

Event Hubs representa la "puerta principal" de una canalización de eventos, conocida a menudo como un agente de ingesta de eventos en las arquitecturas de la solución. Un agente de ingesta de eventos es un componente o servicio que se encuentra entre los publicadores de eventos y los consumidores de eventos para desacoplar la producción de un flujo de eventos del consumo de esos eventos. Event Hubs ofrece una plataforma de streaming unificada con búfer de retención de tiempo, de forma que los productores de eventos se desacoplan de los consumidores de eventos.

En las secciones siguientes se describen las características clave del servicio Azure Event Hubs:

PaaS completamente administrada

Event Hubs es una plataforma como servicio (PaaS) completamente administrada con poca sobrecarga de administración o configuración, para que pueda centrarse en las soluciones empresariales. Event Hubs para ecosistemas de Apache Kafka le ofrece la experiencia de PaaS de Kafka sin tener que administrar, configurar ni ejecutar los clústeres.

Compatibilidad con procesamiento por lotes y en tiempo real

Ingiera, almacene en búfer y procese la secuencia en tiempo real para obtener información práctica y útil. Event Hubs usa un modelo de consumidor con particiones, que permite que varias aplicaciones procesen la secuencia de manera simultánea y le deja controlar la velocidad del procesamiento. Azure Event Hubs también se integra con Azure Functions para una arquitectura sin servidor.

Captura de datos de eventos

Capture los datos casi en tiempo real en una instancia de Azure Blob Storage o de Azure Data Lake Storage para la retención a largo plazo o el procesamiento por microlotes. Puede lograr este comportamiento en la misma secuencia que usa para derivar análisis en tiempo real. La configuración de la captura de datos de eventos es rápida. Su ejecución no conlleva gastos administrativos y se escala automáticamente con unidades de rendimiento o unidades de procesamiento de Event Hubs. Event Hubs le permite centrarse en el procesamiento de datos en lugar de hacerlo en la captura de datos.

Escalable

Con Event Hubs, puede comenzar con los flujos de datos en megabytes y aumentar a gigabytes o terabytes. La característica de inflado automático es una de las muchas opciones disponibles para escalar el número de unidades de rendimiento o procesamiento con el fin de satisfacer las necesidades de uso.

Ecosistema enriquecido

Con un ecosistema amplio que usa el protocolo AMQP 1.0 estándar del sector y que está disponible en varios lenguajes .NET, Java, Python y JavaScript, es fácil empezar a procesar las secuencias desde Event Hubs. Todos los lenguajes de cliente compatibles proporcionan integración de nivel bajo. El ecosistema también proporciona una perfecta integración con servicios de Azure como Azure Stream Analytics y Azure Functions, lo que permite crear arquitecturas sin servidor.

Event Hubs para Apache Kafka

Event Hubs para ecosistemas de Apache Kafka permite aún más que aplicaciones y clientes de Apache Kafka (1.0 y posteriores) se comuniquen con Event Hubs. No es preciso instalar, configurar ni administrar los clústeres de Kafka y Zookeeper propios, ni usar ninguna oferta de Kafka como servicio que no sea nativa de Azure.

Event Hubs Premium y dedicado

Event Hubs Premium satisface las necesidades de streaming de alto nivel que requieren un rendimiento superior, un mejor aislamiento con latencia previsible y mínima interferencia en un entorno PaaS multiinquilino administrado. Además de todas las características de la oferta estándar, el nivel Premium ofrece varias características adicionales, como el escalado vertical de particiones dinámicas, la retención ampliada y las claves administradas por el cliente. Para obtener más información, vea Event Hubs Premium.

El nivel dedicado de Event Hubs ofrece implementaciones de un único inquilino para aquellos clientes con las necesidades de streaming más exigentes. Esta oferta de inquilino único tiene un SLA garantizado del 99,99 % y solo está disponible en nuestro plan de tarifa dedicado. Un clúster de Event Hubs puede incorporar millones de eventos por segundo con capacidad garantizada y una latencia inferior a un segundo. Los espacios de nombres y los centros de eventos creados en el clúster dedicado incluyen todas las características de la oferta Premium y más. Para obtener más información, vea Event Hubs dedicado.

Vea la comparación entre niveles de Event Hubs para obtener más detalles.

Event Hubs en Azure Stack Hub

Event Hubs en Azure Stack Hub permite desarrollar escenarios de nube híbrida. Se admiten las soluciones de streaming y basadas en eventos, tanto en el procesamiento local como en la nube de Azure. Tanto si el escenario es híbrido (con conexión) como sin conexión, la solución puede admitir el procesamiento de eventos o secuencias a gran escala. El escenario solo está limitado por el tamaño del clúster de Event Hubs, que puede aprovisionar según sus necesidades.

Las ediciones de Event Hubs (en Azure Stack Hub y en Azure) ofrecen un alto grado de paridad de características. Esta paridad significa que los SDK, los ejemplos, PowerShell, la CLI y los portales ofrecen una experiencia similar, con algunas diferencias.

Para más información, consulte Información general sobre Event Hubs en Azure Stack Hub.

Componentes clave de la arquitectura

Event Hubs contiene los siguientes componentes clave:

  • Productores de eventos: una entidad que envía datos a un centro de eventos. Los publicadores de eventos pueden publicar eventos mediante HTTPS, AMQP 1.0 o Apache Kafka (1.0 y posterior)
  • Particiones: cada consumidor solo lee un subconjunto específico, o partición, de la secuencia de mensajes.
  • Grupos de consumidores: vista (estado, posición o desplazamiento) de todo un centro de eventos. Los grupos de consumidores permiten consumir aplicaciones y que cada una tenga una vista independiente de la secuencia de eventos. Leen la secuencia de forma independiente, a su propio ritmo y con sus propios desplazamientos.
  • Unidades de procesamiento (nivel estándar) o unidades de procesamiento (nivel prémium) o unidades de capacidad (dedicadas): unidades de capacidad adquiridas previamente que controlan la capacidad de rendimiento de Event Hubs.
  • Receptores de eventos: cualquier entidad que lea datos de evento de un centro de eventos. Todos los consumidores de Event Hubs se conectan a través de la sesión de AMQP 1.0. El servicio Event Hubs entrega eventos a través de una sesión a medida que están disponibles. Todos los consumidores de Kafka se conectan a través del protocolo de 1.0 de Kafka y las versiones posteriores.

La siguiente ilustración muestra la arquitectura de procesamiento del flujo de Event Hubs:

Event Hubs

Pasos siguientes

Para empezar a usar Event Hubs, consulte los tutoriales sobre envío y recepción de eventos:

Para obtener más información sobre Event Hubs, consulte los siguientes artículos: