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 arquitectura sin servidor controlada por eventos en una red virtual que ingiere y procesa un flujo de datos y, a continuación, escribe los resultados en una base de datos.
Architecture
Flujo de datos
- La integración con la red virtual se usa para colocar todos los recursos de Azure detrás de puntos de conexión privados de Azure.
- Los eventos llegan al centro de eventos de entrada.
- La función de eliminación de la agrupación por lotes y filtrado de Azure se desencadena para controlar el evento. Con este paso se filtran los eventos no deseados y se elimina la agrupación por lotes de los eventos recibidos antes de su envío al centro de eventos de salida.
- Si la función de eliminación de la agrupación por lotes y filtrado de Azure no puede almacenar el evento correctamente, el evento se envía al centro de eventos Deadletter 1.
- 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.
- El evento se almacena en una base de datos de Azure Cosmos DB.
- Si la función de transformación de Azure no puede almacenar el evento correctamente, el evento se guarda en el centro de eventos Deadletter 2.
Nota
Para simplificar, las subredes no se muestran en el diagrama.
Componentes
- Un punto de conexión privado de Azure es una interfaz de red que le conecta de forma privada y segura a un servicio por medio de la tecnología Azure Private Link. El punto de conexión privado usa una dirección IP privada de la red virtual, colocando el servicio de manera eficaz en su red virtual.
- 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.
Detalles del escenario
Esta idea de solución muestra una variación de una arquitectura sin servidor orientada a eventos que ingiere un flujo de datos, procesa los datos y escribe los resultados en una base de datos de back-end. En este ejemplo, la solución se hospeda dentro de una red virtual con todos los recursos de Azure detrás de puntos de conexión privados.
Para más información sobre los conceptos básicos, las consideraciones y los enfoques para el procesamiento de eventos sin servidor, consulte la arquitectura de referencia 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 altamente escalables desencadenadas por Event Hubs.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Rajasa Savant | Ingeniera sénior de desarrollo de software
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.
Pasos siguientes
- Administrar una conexión de punto de conexión privado
- Guías de inicio rápido para los puntos de conexión privados:
- Inicio rápido: Creación de un punto de conexión privado mediante Azure Portal
- Creación de un punto de conexión privado de Azure mediante Azure PowerShell
- Creación de un punto de conexión privado mediante la CLI de Azure
- Creación de un punto de conexión privado mediante una plantilla de Resource Manager
- Documentación de Azure Event Hubs
- Introducción a Azure Functions
- Documentación de Azure Functions
- Introducción a Azure Cosmos DB
- Elección de una API en Azure Cosmos DB
Recursos relacionados
- Procesamiento de eventos sin servidor es una arquitectura de referencia que detalla una arquitectura típica de este tipo, con ejemplos de código y análisis de las consideraciones importantes.
- Supervisión del procesamiento de eventos sin servidor proporciona información general e instrucciones sobre la supervisión de arquitecturas controladas por eventos sin servidor como esta.
- En Eliminación de la agrupación por lotes y filtrado en el procesamiento de eventos sin servidor con Event Hubs se describe con más detalle cómo funcionan estas partes de la arquitectura.
- Azure Kubernetes en el procesamiento de flujos de eventos describe una variante de una arquitectura sin servidor controlada por eventos que se ejecuta en Azure Kubernetes con el escalador KEDA.