Azure Kubernetes en el procesamiento de flujos de eventos

Azure Kubernetes Service (AKS)
Azure IoT Hub
Azure Event Hubs
Azure Functions
Azure Cosmos DB

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

En este artículo se describe una variante de una arquitectura sin servidor controlada por eventos que se ejecuta en Azure Kubernetes Service (AKS) con un escalador de KEDA. La solución ingiere un flujo de datos, los procesa y escribe los resultados en una base de datos de back-end.

Architecture

Diagrama de arquitectura en el que se muestra el flujo de datos descrito en este artículo.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. AKS con el escalador de KEDA se usa para escalar automáticamente contenedores de Azure Functions en función del número de eventos que deben procesarse.
  2. Los eventos llegan al centro de eventos de entrada.
  3. La función de anulación del procesamiento por lotes y filtrado de Azure se desencadena para controlar el evento. Este paso filtra los eventos no deseados y anula el procesamiento por lotes de los eventos recibidos antes de enviarlos al centro de eventos de salida.
  4. Si la función de anulación del procesamiento por lotes y filtrado de Azure no puede almacenar el evento correctamente, el evento se envía al centro de eventos Mensajes fallidos 1.
  5. Los eventos que llegan al centro de eventos de salida desencadenan la función de Azure de transformación. Esta función de Azure transforma el evento en un mensaje para la instancia de Azure Cosmos DB.
  6. El evento se almacena en una base de datos de Azure Cosmos DB.

Componentes

  • Azure Kubernetes Service (AKS) simplifica la implementación de un clúster de Kubernetes administrado en Azure, ya que descarga la sobrecarga operativa en Azure. Al ser un servicio de Kubernetes hospedado, Azure controla tareas críticas como la supervisión del estado y el mantenimiento.
  • KEDA es un escalador automático controlado por eventos que se usa para escalar contenedores en el clúster de Kubernetes en función del número de eventos que deben procesarse.
  • Event Hubs ingiere el flujo de datos. Event Hubs está diseñado para escenarios de transmisión de datos de alto rendimiento.
  • Azure Functions es una opción de proceso sin servidor. Utiliza un modelo orientado a eventos, en el que un desencadenador invoca un fragmento de código (una función).
  • Cosmos DB es un servicio de base de datos de varios modelos que está disponible en un modo sin servidor basado en el consumo. En este escenario, la función de procesamiento de eventos almacena registros JSON mediante Azure Cosmos DB for NoSQL.

Nota

Para escenarios de Internet de las cosas (IoT), se recomienda Azure IoT Hub. IoT Hub tiene un punto de conexión integrado que es compatible con la API de Azure Event Hubs, por lo que puede usar cualquiera de los servicios en esta arquitectura sin realizar ningún cambio importante en el procesamiento de back-end. Para más información, consulte Conexión de dispositivos IoT a Azure: IoT Hub y Event Hubs.

Detalles del escenario

En este artículo se describe una arquitectura sin servidor controlada por eventos que se ejecuta en AKS con un escalador de KEDA. La solución ingiere un flujo de datos, los procesa y escribe los resultados en una base de datos de back-end.

Para obtener más información sobre los conceptos básicos, las consideraciones y los enfoques del procesamiento de eventos sin servidor, consulte la arquitectura de referencia de procesamiento de eventos sin servidor.

Posibles casos de uso

Un caso de uso popular para implementar un patrón de procesamiento de flujo de eventos de un extremo a otro incluye el servicio de ingesta de streaming de Event Hubs para recibir y procesar eventos por segundo mediante una lógica de anulación del procesamiento por lotes y de transformación implementada con funciones desencadenadas por un centro de eventos de alta escalabilidad.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes