Idee per le soluzioni
Questo articolo è un'idea di soluzione. Per espandere il contenuto con altre informazioni, ad esempio casi d'uso potenziali, servizi alternativi, considerazioni sull'implementazione o indicazioni sui prezzi, inviare commenti e suggerimenti su GitHub.
Questo articolo descrive una variante di un'architettura basata su eventi serverless eseguita su servizio Azure Kubernetes (AKS) con il ridimensionatore KEDA. La soluzione inserisce un flusso di dati, elabora i dati e quindi scrive i risultati in un database back-end.
Architettura
Scaricare un file di Visio di questa architettura.
Flusso di dati
- Il servizio Azure Kubernetes con il ridimensionatore KEDA viene usato per ridimensionare automaticamente i contenitori Funzioni di Azure in base al numero di eventi che devono essere elaborati.
- Gli eventi arrivano all'hub eventi di input.
- La funzione di de-batch e filtro di Azure viene attivata per gestire l'evento. Questo passaggio filtra gli eventi indesiderati e de-batch gli eventi ricevuti prima di inviarli all'hub eventi di output.
- Se la funzione di de-batch e filtro di Azure non riesce a archiviare l'evento correttamente, l'evento viene inviato all'hub eventi deadletter 1.
- Gli eventi in arrivo nell'hub eventi di output attivano la funzione di Trasformazione di Azure. Questa funzione di Azure trasforma l'evento in un messaggio per l'istanza di Azure Cosmos DB.
- L'evento viene archiviato in un database di Azure Cosmos DB.
Componenti
- servizio Azure Kubernetes semplifica la distribuzione di un cluster Kubernetes gestito in Azure tramite l'offload del sovraccarico operativo in Azure. Come servizio Kubernetes ospitato, Azure gestisce attività critiche quali il monitoraggio dell'integrità e la manutenzione.
- KEDA è un'utilità di scalabilità automatica guidata dagli eventi usata per ridimensionare i contenitori nel cluster Kubernetes in base al numero di eventi che devono essere elaborati.
- Hub eventi inserisce il flusso di dati. Hub eventi è progettato per scenari di flusso di dati con velocità effettiva elevata.
- Funzioni di Azure è un'opzione di calcolo senza server. Usa un modello basato su eventi, in cui un frammento di codice (una funzione) viene richiamato da un trigger.
- Azure Cosmos DB è un servizio di database multimodelle disponibile in modalità serverless basata sul consumo. Per questo scenario, la funzione di elaborazione eventi archivia i record JSON usando Azure Cosmos DB per NoSQL.
Nota
Per gli scenari Internet of Thing (IoT), è consigliabile hub IoT di Azure. hub IoT dispone di un endpoint predefinito compatibile con l'API Hub eventi di Azure, quindi è possibile usare entrambi i servizi in questa architettura senza modifiche importanti nell'elaborazione back-end. Per informazioni, vedere Connessione di dispositivi IoT ad Azure: hub IoT e hub eventi.
Dettagli dello scenario
Questo articolo descrive un'architettura basata su eventi serverless eseguita nel servizio Azure Kubernetes con il scaler KEDA. La soluzione inserisce un flusso di dati, elabora i dati e quindi scrive i risultati in un database back-end.
Per altre informazioni sui concetti di base, considerazioni e approcci per l'elaborazione di eventi serverless, vedere Architettura di riferimento per l'elaborazione di eventi serverless .
Potenziale caso d'uso
Un caso d'uso comune per l'implementazione di un modello di elaborazione del flusso di eventi end-to-end include il servizio di inserimento di streaming di Hub eventi per ricevere ed elaborare eventi al secondo usando una logica di de-batch e trasformazione implementata con funzioni altamente scalabili e attivate dall'hub eventi.
Autori di contributi
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai collaboratori seguenti.
Autore principale:
- Rajasa Savant | Senior Software Development Engineer
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Introduzione al servizio Azure Kubernetes
- Documentazione di Hub eventi di Azure
- Introduzione a Funzioni di Azure
- Documentazione di Funzioni di Azure
- Panoramica di Azure Cosmos DB
- Scegliere un'API in Azure Cosmos DB
Risorse correlate
- L'elaborazione di eventi serverless è un'architettura di riferimento che descrive in dettaglio un'architettura tipica di questo tipo, con esempi di codice e considerazioni importanti.
- Il monitoraggio dell'elaborazione di eventi serverless offre una panoramica e indicazioni sul monitoraggio di architetture basate su eventi serverless come questa.
- La de-batching e il filtro nell'elaborazione di eventi serverless con Hub eventi descrive in modo più dettagliato il funzionamento di queste parti dell'architettura.
- Lo scenario di collegamento privato nell'elaborazione del flusso di eventi è un'idea di soluzione per implementare un'architettura simile in una rete virtuale con endpoint privati, al fine di migliorare la sicurezza.