Azure Kubernetes nell'elaborazione del flusso di eventi

Servizio Azure Kubernetes
Hub IoT Azure
Hub eventi di Azure
Funzioni di Azure
Azure Cosmos DB

Idee per le soluzioni

Questo articolo descrive un'idea di soluzione. L'architetto cloud può usare queste linee guida per visualizzare i componenti principali per un'implementazione tipica di questa architettura. Usare questo articolo come punto di partenza per progettare una soluzione ben progettata in linea con i requisiti specifici del carico di lavoro.

Questo articolo descrive una variante di un'architettura basata su eventi serverless eseguita in 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

Diagramma dell'architettura che illustra il flusso di dati descritto in questo articolo.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. Il servizio Azure Kubernetes con il scaler KEDA viene usato per ridimensionare automaticamente i contenitori Funzioni di Azure in base al numero di eventi che devono essere elaborati.
  2. Gli eventi arrivano all'hub eventi di input.
  3. 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.
  4. Se la funzione di de-invio in batch e filtro di Azure non riesce a archiviare correttamente l'evento, l'evento viene inviato all'hub eventi deadletter 1.
  5. Gli eventi in arrivo nell'hub eventi di output attivano la funzione di Azure di trasformazione. Questa funzione di Azure trasforma l'evento in un messaggio per l'istanza di Azure Cosmos DB.
  6. L'evento viene archiviato in un database di Azure Cosmos DB.

Componenti

  • Il 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 basata su 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 una parte di codice (una funzione) viene richiamata da un trigger.
  • Azure Cosmos DB è un servizio di database multimodelli 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 ha 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, sulle considerazioni e sugli approcci per l'elaborazione di eventi serverless, vedere l'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 in streaming di Hub eventi per ricevere ed elaborare eventi al secondo usando una logica di de-batch e trasformazione implementata con funzioni attivate dall'hub eventi altamente scalabili.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

  • L'elaborazione di eventi serverless è un'architettura di riferimento che descrive in dettaglio un'architettura tipica di questo tipo, con esempi di codice e discussioni su considerazioni importanti.
  • 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.