Exploración de elementos comunes de la arquitectura de procesamiento de flujos

Completado

Tip

Consulte la pestaña Texto e imágenes para obtener más detalles.

Existen muchas tecnologías que puede usar para implementar una solución de procesamiento de flujos, pero, aunque los detalles de implementación específicos pueden variar, existen elementos comunes para la mayoría de las arquitecturas de flujos.

Una arquitectura general para el procesamiento de flujos

En su forma más simple, una arquitectura de alto nivel para el procesamiento de flujos tiene el siguiente aspecto:

Diagrama de una arquitectura general de procesamiento de secuencias en el que los eventos fluyen a través de una cola de entrada, un procesador de consultas continuas y hacia un sumidero.

  1. Un evento genera algunos datos. Podría ser una señal que emite un sensor, un mensaje de redes sociales que se publica, una entrada de archivo de registro que se escribe o cualquier otro evento que da como resultado algunos datos digitales.

  2. Los datos generados se capturan en un origen de streaming para su procesamiento. En casos simples, el origen puede ser una carpeta de un almacén de datos en la nube o una tabla de una base de datos. En soluciones de flujos más sólidas, el origen puede ser una cola que encapsula la lógica para asegurarse de que los datos del evento se procesan en orden y que cada evento se procesa una sola vez.

  3. Los datos del evento se procesan, a menudo mediante una consulta perpetua que opera en los datos del evento para seleccionar datos para tipos específicos de eventos, valores de datos de proyecto o valores de datos agregados a lo largo de períodos temporales (o ventanas) (por ejemplo, contando el número de emisiones de sensores por minuto).

  4. Los resultados de la operación de procesamiento de flujos se escriben en una salida (o receptor), que puede ser un archivo, una tabla de base de datos, un panel visual en tiempo real u otra cola para su posterior procesamiento mediante una consulta de bajada posterior.

Servicios de análisis en tiempo real

Microsoft admite numerosas tecnologías que puede usar para implementar el análisis en tiempo real de los datos de streaming, entre las que se incluyen:

  • Microsoft Fabric Real-Time Intelligence: conjunto de herramientas integrado completo para datos en tiempo real integrados en Microsoft Fabric. Incluye Eventstreams (para ingerir, enrutar y transformar datos de streaming), Eventhouse (una base de datos optimizada para datos de eventos y series temporales, consultadas mediante KQL: lenguaje de consulta Kusto, un lenguaje de consulta diseñado para el análisis rápido de registros y telemetría), Real-Time Paneles (para la visualización de datos en directo) y Activator (para desencadenar acciones automatizadas cuando los datos de streaming cumplen condiciones definidas). La asistencia de inteligencia artificial en Fabric Real-Time intelligence le ayuda a generar consultas de KQL a partir de preguntas de lenguaje natural.

  • Spark Structured Streaming: una biblioteca de código abierto que le permite desarrollar soluciones de streaming complejas en servicios basados en Apache Spark, incluidos Azure Databricks y Microsoft Fabric.

  • Azure Stream Analytics: una solución de plataforma como servicio (PaaS) que puede usar para definir trabajos de streaming que ingieren datos de un origen de streaming, aplican una consulta perpetual y escriben los resultados en una salida. Es una opción sólida para escenarios de streaming independientes o híbridos fuera de Fabric.

Orígenes para el procesamiento de flujos

Los siguientes servicios se usan normalmente para ingerir datos para el procesamiento de flujos en Azure:

  • Azure Event Hubs: un servicio de ingesta de datos que puede usar para ingerir grandes volúmenes de datos de eventos. Los eventos dentro de una partición se entregan en orden y Event Hubs garantiza al menos una entrega una vez.

  • Azure IoT Hub: servicio de ingesta de datos similar a Azure Event Hubs, pero optimizado para administrar datos de eventos de dispositivos de Internet de las cosas (IoT).

  • Azure Data Lake Store Gen 2: servicio de almacenamiento altamente escalable que se usa a menudo en escenarios de procesamiento por lotes, pero que también se puede usar como origen de datos de streaming.

  • Apache Kafka: solución de ingesta de datos de código abierto que se usa a menudo junto con Apache Spark.

Receptores para el procesamiento de flujos

La salida del procesamiento de flujos a menudo se envía a los siguientes servicios:

  • Azure Event Hubs: se usa para poner en cola los datos procesados para su procesamiento posterior.

  • Azure Data Lake Store Gen 2, Microsoft OneLake o Azure blob Storage: se usan para conservar los resultados procesados como un archivo.

  • Azure SQL Database, Azure Databricks o Microsoft Fabric: se usan para conservar los resultados procesados en una tabla en la que se puede realizar consultas y análisis.

  • Microsoft Power BI: se usa para generar visualizaciones de datos en tiempo real en informes y paneles.