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. Permite ejecutar cargas de trabajo de Kafka existentes sin cambios en el código.
Las empresas pueden usar Event Hubs para ingerir y almacenar datos de streaming. Mediante el uso de datos de streaming, las empresas pueden obtener información valiosa, impulsar el análisis en tiempo real y responder a eventos a medida que se producen. Pueden usar estos datos para mejorar su eficiencia general y la experiencia del cliente.
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 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.
- Procese los datos del centro de eventos mediante Azure Stream Analytics para generar información en tiempo real.
- Analizar y explorar datos de streaming con Azure Data Explorer.
- Cree sus propias aplicaciones, funciones o microservicios nativos en la nube que se ejecutan en datos de streaming desde Event Hubs.
- Transmita eventos con una validación de esquema mediante un registro de esquema integrado para garantizar la calidad y compatibilidad de los datos de streaming.
Principales capacidades
Obtenga información sobre las capacidades clave de Azure Event Hubs en las secciones siguientes.
Apache Kafka en Azure Event Hubs
Event Hubs es un motor de streaming de eventos de varios protocolos que admite de forma nativa los protocolos Advanced Message Queuing Protocol (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 como un motor de agente nativo en la nube. Por este motivo, 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 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 esquemas es gratuito con todos los espacios de nombres de Event Hubs. Se integra con las aplicaciones de Kafka o las aplicaciones basadas en el SDK de Event Hubs.
El registro de esquema 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 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.
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 un análisis casi en tiempo real y exploración de datos de streaming.
Para más información, consulte Ingesta de datos desde el centro de eventos en Azure Data Explorer.
Azure Functions, SDK y el ecosistema de Kafka
Con Event Hubs, puede ingerir, almacenar en búfer, almacenar y procesar la secuencia en tiempo real para obtener información práctica y útil. Event Hubs usa un modelo de consumidores particionados. Permite que varias aplicaciones procesen el flujo simultáneamente y le permiten controlar la velocidad de procesamiento. Event Hubs también se integra con Azure Functions para las arquitecturas sin servidor.
Un amplio ecosistema está disponible para el protocolo AMQP 1.0 estándar del sector. Los SDK están disponibles en lenguajes como .NET, Java, Python y JavaScript, por lo que puede empezar a procesar las secuencias desde Event Hubs. Todos los lenguajes de cliente compatibles proporcionan integración de nivel bajo.
El ecosistema también le permite integrar 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 los niveles Estándar, Premium o Dedicado para Event Hubs. Estas opciones satisfacen las necesidades de streaming de datos que oscilan entre unos pocos MB/s y varios GB/s. Puede elegir la coincidencia adecuada para 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.
Admite la transmisión de mensajes grandes
En la mayoría de los escenarios de streaming, los datos se caracterizan como ligeros, normalmente inferiores a 1 MB, y tienen un alto rendimiento. Sin embargo, hay instancias en las que los mensajes no se pueden dividir en segmentos más pequeños. Azure Event Hubs puede acomodar eventos de hasta 20 MB con clústeres dedicados escalables de autoservicio sin cargos adicionales. Esta funcionalidad permite a Event Hubs controlar una amplia gama de tamaños de mensaje, para garantizar operaciones empresariales ininterrumpidas. Para más información, consulte Envío y recepción de mensajes de gran tamaño con Azure Event Hubs.
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.
Funcionamiento
Event Hubs ofrece una plataforma de streaming de eventos unificada con un 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 el diagrama siguiente se muestran los principales componentes de la arquitectura de Event Hubs:
Los componentes funcionales clave de Event Hubs son los siguientes:
- Aplicaciones de productor: estas aplicaciones pueden ingerir datos en un centro de eventos mediante los SDK de Event Hubs o cualquier cliente de productor de Kafka.
- 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 de solo anexión, que puede constar de una o varias particiones.
- Particiones: se usan 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.
- Aplicaciones de consumidor: estas aplicaciones pueden consumir 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.
- Grupo de consumidores: este grupo lógico de instancias de consumidor lee los 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.
Contenido relacionado
Para empezar a usar Event Hubs, consulte los artículos siguientes:
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.