Azure Event Hubs: una plataforma de streaming de macrodatos y un servicio de ingesta de eventos
Event Hubs es un servicio moderno de ingesta de eventos y plataforma de streaming de macrodatos que se puede integrar fácilmente con otros servicios de Azure y servicios de Microsoft, como Stream Analytics, Power BI y Event Grid, además de con servicios externos como Apache Spark. El servicio puede procesar millones de eventos por segundo con baja latencia. Los datos enviados a un centro de eventos (instancia de Event Hubs) se pueden transformar y almacenar mediante cualquier proveedor de análisis en tiempo real o adaptadores de almacenamiento o procesamiento por lotes.
¿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 disponible para el protocolo AMQP 1.0 estándar y SDK 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.
Consulte la comparación entre niveles de Event Hubs para obtener más detalles.
Event Hubs en Azure Stack Hub
El servicio de 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.
Componente | Descripción |
---|---|
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 una 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. |
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. |
Unidades de rendimiento (nivel estándar) o unidades de procesamiento (nivel prémium) o unidad de capacidad (dedicada) | unidades de capacidad compradas previamente que controlan la capacidad de rendimiento de Event Hubs. |
La siguiente ilustración muestra la arquitectura de procesamiento del flujo de Event Hubs:
Nota
Para más información, consulte Características o componentes de 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: