Información sobre Azure Event Hubs

Completado

Azure Event Hubs representa la "puerta principal" de una canalización de eventos, a menudo denominada agente de ingesta de eventos en las arquitecturas de soluciones. 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 la tabla siguiente se resaltan las características principales del servicio Azure Event Hubs:

Característica Descripción
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 Kafka de PaaS sin tener que administrar, configurar ni ejecutar los clústeres.
Procesamiento por lotes y en tiempo real 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.
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.
Escalable Las opciones de escalado, como el inflado automático, escalan el número de unidades de procesamiento para satisfacer sus necesidades de uso.
Ecosistema enriquecido Event Hubs para ecosistemas de Apache Kafka permite que aplicaciones y clientes de Apache Kafka (1.0 y posteriores) se comuniquen con Event Hubs. No es necesario configurar ni administrar sus propios clústeres de Kafka.

Conceptos clave

Event Hubs contiene los siguientes componentes clave:

  • Un cliente de Event Hubs es la interfaz principal para los desarrolladores que interactúan con la biblioteca cliente de Event Hubs. Hay varios clientes de Event Hubs diferentes, cada uno dedicado a un uso específico de Event Hubs, como la publicación o el consumo de eventos.
  • Un productor de Event Hubs es un tipo de cliente que actúa como origen de datos de telemetría, información de diagnóstico, registros de uso u otros datos de registro, como parte de una solución de dispositivo insertado, una aplicación de dispositivo móvil, un título de juego que se ejecuta en una consola u otro dispositivo, una solución empresarial basada en cliente o servidor, o un sitio web.
  • Un consumidor de Event Hubs es un tipo de cliente que lee información del centro de eventos y permite su procesamiento. El procesamiento puede implicar agregación, cálculo complejo y filtrado. El procesamiento también puede implicar la distribución o el almacenamiento de la información sin procesar o transformada. Los consumidores de Event Hubs suelen ser componentes sólidos y a gran escala de la infraestructura de la plataforma con funcionalidades de análisis integradas, como Azure Stream Analytics o Apache Spark.
  • Una partición es una secuencia ordenada de eventos que se mantiene en una instancia de Event Hubs. Las particiones son un medio de organización de datos asociado al paralelismo requerido por los consumidores de eventos. Azure Event Hubs proporciona streaming de mensajes a través de un patrón de consumidor con particiones en el que cada consumidor solo lee un subconjunto específico, o partición, de la secuencia de mensajes. A medida que llegan eventos más recientes, se agregan al final de esta secuencia. El número de particiones se especifica en el momento en que se crea un centro de eventos y no se puede cambiar.
  • Un grupo de consumidores es una vista de una instancia de Event Hub completa. Los grupos de consumidores habilitan a varias aplicaciones de consumo para que cada una de ellas tenga una vista independiente de la secuencia de eventos, y para que lea la secuencia de manera independiente a su propio ritmo y desde su propia ubicación. Puede haber como máximo cinco lectores simultáneos en una partición por grupo de consumidores; sin embargo, se recomienda que solo haya un consumidor activo para un emparejamiento determinado de partición y grupo de consumidores. Cada lector activo recibe todos los eventos de su partición. Si hay varios lectores en la misma partición, reciben eventos duplicados.
  • Receptores de eventos: cualquier entidad que lea datos de eventos de una instancia de Event Hubs. 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.
  • Unidades de rendimiento o unidades de procesamiento: unidades de capacidad adquiridas previamente que controlan la capacidad de procesamiento de Event Hubs.

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

Image showing the event processing flow.