Azure Event Hubs, una plataforma de streaming de datos en tiempo real con compatibilidad nativa con Apache Kafka

Azure Event Hubs es un servicio de streaming de datos nativo en la nube que puede transmitir millones de eventos por segundo, con baja latencia, desde cualquier origen a cualquier destino. Event Hubs es compatible con Apache Kafka y permite ejecutar cargas de trabajo de Kafka existentes sin hacer cambios en el código.

Usando Event Hubs para ingerir y almacenar datos de streaming, las empresas pueden aprovechar la eficacia de los datos de streaming para obtener información valiosa, impulsar el análisis en tiempo real y responder a eventos a medida que se producen, lo que mejora la eficacia general y la experiencia del cliente.

Diagram that shows how Azure Event Hubs fits in an event streaming platform.

Azure Event Hubs es la capa de ingesta de eventos preferida de cualquier solución de streaming de eventos que se compile sobre Azure. Se integra perfectamente con los servicios de datos y análisis dentro y fuera de Azure para crear una canalización de streaming de datos completa para atender los siguientes casos de uso.

Principales capacidades

Apache Kafka en Azure Event Hubs

Azure Event Hubs es un motor de streaming de eventos de varios protocolos que admite de forma nativa los protocolos AMQP, Apache Kafka y HTTPs. Como es compatible con Apache Kafka, puede traer cargas de trabajo de Kafka a Azure Event Hubs sin hacer ningún cambio de código. No es necesario configurar ni administrar sus propios clústeres de Kafka ni usar una oferta de Kafka como servicio que no sea nativa de Azure.

Event Hubs se crea desde cero como un motor de agente nativo en la nube. Por lo tanto, puede ejecutar cargas de trabajo de Kafka con un mejor rendimiento, una mejor rentabilidad y sin sobrecarga operativa.

Para obtener más información, consulte Azure Event Hubs para Apache Kafka.

Registro de esquema en Azure Event Hubs

El Registro de esquema de Azure en Event Hubs proporciona un repositorio centralizado para administrar esquemas de aplicaciones de streaming de eventos. El Registro de esquema de Azure incluye de forma gratuita todos los espacios de nombres de Event Hubs y se integra perfectamente con las aplicaciones de Kafka o las aplicaciones basadas en el SDK de Event Hubs.

Diagram that shows Schema Registry and Azure Event Hubs integration.

Garantiza la compatibilidad y coherencia de los datos entre productores y consumidores de eventos. El Registro de esquema permite la evolución, validación y gobernanza de esquemas sin fisuras, y fomenta un intercambio de datos y una interoperabilidad eficientes.

El Registro de esquema se integra perfectamente con las aplicaciones de Kafka existentes y admite varios formatos de esquema, como, por ejemplo, los esquemas JSON y Avro.

Para más información, consulte Registro de esquema de Azure en Event Hubs.

Procesamiento en tiempo real de eventos de streaming con Azure Stream Analytics

Event Hubs se integra perfectamente con Azure Stream Analytics para permitir el procesamiento de flujos en tiempo real. Con el editor sin código integrado, puede desarrollar sin esfuerzo un trabajo de Stream Analytics usando la funcionalidad de arrastrar y colocar, sin necesidad de escribir código.

Screenshot showing the Process data page with Enable real time insights from events tile selected.

Como alternativa, los desarrolladores pueden usar el lenguaje de consulta de Stream Analytics basado en SQL para realizar el procesamiento de flujos en tiempo real y aprovechar una amplia gama de funciones para analizar datos de streaming.

Para obtener más información, consulte los artículos de la sección de integración con Azure Stream Analytics de la tabla de contenido.

Exploración de datos de streaming con Azure Data Explorer

Azure Data Explorer es una plataforma totalmente administrada para analizar macrodatos que ofrece un alto rendimiento y permite analizar grandes volúmenes de datos casi en tiempo real. Al integrar Event Hubs con Azure Data Explorer, puede realizar fácilmente análisis casi en tiempo real y exploración de datos de streaming.

Diagram that shows Azure Data explorer query and output.

Para obtener más información, consulte Ingesta de datos desde un centro de eventos en Azure Data Explorer y los artículos de la misma sección.

Ecosistema enriquecido: Azure Functions, SDK y ecosistema de Kafka

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 las arquitecturas sin servidor.

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 integración perfecta con Azure Functions, Azure Spring Apps, conectores de Kafka y otras plataformas y tecnologías de análisis de datos, como Apache Spark y Apache Flink.

Streaming de eventos flexible y rentable

Puede experimentar un streaming de eventos flexible y rentable a través de la amplia selección de niveles de Event Hubs, como Estándar, Premium o Dedicado. Estas opciones cubren necesidades de streaming de datos que van desde unos pocos MB/s a varios GB/s, lo que le permite elegir la opción perfecta según sus requisitos.

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.

Captura de datos de streaming para la retención a largo plazo y el análisis por lotes

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.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage using Managed Identity

Cómo funciona

Event Hubs ofrece una plataforma de streaming de eventos unificada con búfer de retención de tiempo, de forma que los productores de eventos se desacoplan de los consumidores de eventos. Las aplicaciones de productor y de consumidor pueden realizar la ingesta de datos a gran escala a través de varios protocolos.

En la ilustración siguiente se muestran los componentes clave de la arquitectura de Event Hubs:

Diagram that shows the main components of Event Hubs.

Los componentes funcionales clave de Event Hubs son los siguientes:

  • Las aplicaciones de productor pueden ingerir datos en un centro de eventos usando SDK de Event Hubs o cualquier cliente de productor de Kafka.
  • El espacio de nombres es el contenedor de administración para uno o varios temas de Event Hubs o de Kafka. Las tareas de administración, como la asignación de capacidad de streaming, la configuración de la seguridad de red, la habilitación de la recuperación geográfica ante desastres, etc., se controlan en el nivel de espacio de nombres.
  • Tema de Event Hubs/Kafka: en Event Hubs pueden organizarse eventos en un centro de eventos o en un tema de Kafka. Se trata de un registro distribuido append-only, que puede constar de una o varias particiones.
  • Se usan particiones para escalar un centro de eventos. Se parecen a los carriles de una autopista. Si necesita más rendimiento de streaming, deberá agregar más particiones.
  • Las aplicaciones de consumidor consumen datos buscando a través del registro de eventos y manteniendo el desplazamiento del consumidor. Los consumidores pueden ser clientes de consumidor de Kafka o clientes SDK de Event Hubs.
  • El grupo de consumidores es un grupo lógico de instancias de consumidor que lee datos de un tema del centro de eventos o de Kafka. Permite que varios consumidores lean los mismos datos de streaming en un centro de eventos de forma independiente a su propio ritmo y con sus propios desplazamientos.

Pasos siguientes

Para empezar a usar Event Hubs, consulte las siguientes guías de inicio rápido.

Transmisión de datos mediante el SDK de Event Hubs (AMQP)

Puede usar cualquiera de los ejemplos siguientes para transmitir datos a Event Hubs mediante SDK.

Transmisión de datos mediante Apache Kafka

Puede usar los ejemplos siguientes para transmitir datos de las aplicaciones de Kafka a Event Hubs.

Validación de esquemas con el Registro de esquema

Puede usar el Registro de esquema de Event Hubs para llevar a cabo la validación de esquemas de las aplicaciones de streaming de eventos.