Información sobre Azure Event Hubs
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.
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.
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.
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.
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.
Conceptos clave
Event Hubs contiene los siguientes componentes clave:
- 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.