Fanout SNS degli eventi Amazon su AWS Event Fork Pipelines - Amazon Simple Notification Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fanout SNS degli eventi Amazon su AWS Event Fork Pipelines

Per l'archiviazione e l'analisi degli eventi, Amazon SNS ora consiglia di utilizzare la sua integrazione nativa con Amazon Data Firehose. Puoi abbonare i flussi di distribuzione Firehose agli SNS argomenti, il che ti consente di inviare notifiche a endpoint di archiviazione e analisi come i bucket Amazon Simple Storage Service (Amazon S3), le tabelle Amazon Redshift, Amazon Service (Service) e altro ancora OpenSearch . OpenSearch L'utilizzo di Amazon SNS con i flussi di distribuzione Firehose è una soluzione completamente gestita e priva di codice che non richiede l'utilizzo di funzioni. AWS Lambda Per ulteriori informazioni, consulta Flussi di distribuzione da Fanout a Firehose.

Puoi usare Amazon SNS per creare applicazioni basate sugli eventi che utilizzano i servizi per abbonati per eseguire il lavoro automaticamente in risposta a eventi attivati dai servizi di pubblicazione. Questo modello di architettura può rendere i servizi più riutilizzabili, interoperabili e scalabili. Tuttavia, può essere impegnativo eseguire il forking dell'elaborazione di eventi in pipeline rivolte ai requisiti di gestione di eventi comuni, come l’archiviazione, il backup, la ricerca, l'analisi dei dati e la riproduzione.

Per accelerare lo sviluppo delle tue applicazioni basate sugli eventi, puoi sottoscrivere pipeline di gestione degli eventi, basate su Event Fork Pipelines, agli argomenti di Amazon. AWS SNS AWS Event Fork Pipelines è una suite di applicazioni annidate open source, basata sul AWS Serverless Application Model (AWS SAM), che puoi distribuire direttamente dalla suite AWS Event Fork Pipelines (scegli Mostra app che creano ruoli o politiche di risorse personalizzati) nel tuo account. IAM AWS

Per un AWS caso d'uso di Event Fork Pipelines, vedi. Distribuzione e test dell'applicazione di esempio Amazon SNS Event Fork Pipeline

Come funziona AWS Event Fork Pipelines

AWS Event Fork Pipelines è un modello di progettazione senza server. Tuttavia, è anche una suite di applicazioni serverless annidate basate su AWS SAM (che potete distribuire direttamente da AWS Serverless Application Repository () alle vostre per arricchire le vostre piattaforme basate sugli Account AWS eventi AWS SAR). È possibile distribuire queste applicazioni nidificate individualmente, come richiesto dall'architettura.

Il diagramma seguente mostra un'applicazione AWS Event Fork Pipelines integrata da tre applicazioni annidate. È possibile distribuire qualsiasi pipeline della suite AWS Event Fork Pipelines in modo indipendente, come richiesto dall'architettura. AWS SAR

L'architettura AWS Event Fork Pipelines, che mostra come gli eventi di un SNS argomento Amazon vengono filtrati ed elaborati attraverso tre pipeline distinte: Event Storage and Backup, Event Search and Analytics ed Event Replay. Queste pipeline sono rappresentate come scatole impilate verticalmente, ciascuna delle quali elabora in modo indipendente eventi in parallelo dallo stesso argomento di Amazon. SNS

Ogni pipeline è sottoscritta allo stesso SNS argomento Amazon, permettendo a se stessa di elaborare gli eventi in parallelo man mano che questi eventi vengono pubblicati sull'argomento. Ogni pipeline è indipendente ed è in grado di impostare la propria Policy di filtro per le sottoscrizioni. In questo modo una pipeline può elaborare solo un sottoinsieme di eventi a cui è interessata (invece che tutti gli eventi pubblicati nell'argomento).

Nota

Poiché colloca le tre AWS Event Fork Pipeline insieme alle normali pipeline di elaborazione degli eventi (probabilmente già abbonata al tuo SNS argomento Amazon), non è necessario modificare alcuna parte del tuo attuale editor di messaggi per sfruttare AWS Event Fork Pipelines nei tuoi carichi di lavoro esistenti.

La pipeline di archiviazione di eventi e di backup

Il seguente diagramma mostra la Pipeline di archiviazione di eventi e di backup. Puoi abbonare questa pipeline al tuo SNS argomento Amazon per eseguire automaticamente il backup degli eventi che fluiscono nel tuo sistema.

Questa pipeline comprende una SQS coda Amazon che memorizza nel buffer gli eventi forniti dall'SNSargomento Amazon, una AWS Lambda funzione che esegue automaticamente il polling di questi eventi nella coda e li inserisce in un flusso Amazon Data Firehose e un bucket Amazon S3 che esegue il backup durevole degli eventi caricati dallo stream.

La Fork-Event-Storage-Backup -Pipeline, progettata per elaborare ed eseguire il backup di eventi da un argomento di AmazonSNS. Il flusso inizia con un SNS argomento Amazon da cui gli eventi vengono trasferiti a ventaglio in una coda AmazonSQS. Questi eventi filtrati vengono quindi elaborati da una funzione Lambda, che li inoltra a un Amazon Kinesis Data Firehose. Lo stream Firehose è responsabile del buffering, della trasformazione e della compressione degli eventi prima di caricarli in un bucket di backup Amazon S3. Infine, Amazon Athena può essere usato per interrogare i dati memorizzati. Il diagramma utilizza una serie di icone e frecce per illustrare il flusso da un servizio all'altro, etichettando chiaramente ogni componente della pipeline.

Per affinare il comportamento del flusso Firehose, puoi configurarlo in modo che trasformi, comprima ed esegua il buffering degli eventi prima di caricarli nel bucket. Man mano che gli eventi vengono caricati, puoi utilizzare Amazon Athena per interrogare il bucket utilizzando query standard. SQL Puoi anche configurare la pipeline in modo che riutilizzi un bucket Amazon S3 esistente o ne crei uno nuovo.

La pipeline di ricerca di eventi e di analisi dei dati

Il seguente diagramma mostra la Pipeline di ricerca di eventi e di analisi dei dati. Puoi iscrivere questa pipeline al tuo SNS argomento Amazon per indicizzare gli eventi che fluiscono nel tuo sistema in un dominio di ricerca e quindi eseguire analisi su di essi.

Questa pipeline è composta da una SQS coda Amazon che memorizza nel buffer gli eventi forniti dall'SNSargomento Amazon, una AWS Lambda funzione che analizza gli eventi dalla coda e li inserisce in un flusso Amazon Data Firehose, un dominio Amazon OpenSearch Service che indicizza gli eventi caricati dal flusso Firehose e un bucket Amazon S3 che memorizza gli eventi con lettera morta che non possono essere indicizzati nel dominio di ricerca.

La pipeline di ricerca e analisi degli eventi all'interno di un' AWS architettura. Inizia a sinistra con l'SNSargomento Amazon che riceve tutti gli eventi. Questi eventi vengono quindi incanalati attraverso una linea tratteggiata che rappresenta «eventi filtrati a ventaglio» in una coda Amazon. SQS Dalla coda, gli eventi vengono elaborati da una funzione Lambda che poi li inoltra a un flusso Amazon Kinesis Data Firehose. Data Firehose indirizza gli eventi in due destinazioni: una route conduce a un Amazon Elasticsearch Service per l'indicizzazione e l'altra invia eventi non elaborabili o «dead-letter» a un bucket di lettere morte di Amazon S3. All'estrema destra, l'output di Elasticsearch Service viene inserito in una dashboard di Kibana per l'analisi e la visualizzazione. L'intero flusso è disposto orizzontalmente e ogni componente è collegato da linee che mostrano la direzione del flusso di dati.

Per affinare il flusso Firehose in termini di buffering, trasformazione e compressione degli eventi, puoi configurare questa pipeline.

Puoi anche configurare se la pipeline deve riutilizzare un OpenSearch dominio esistente nel tuo dominio Account AWS o crearne uno nuovo per te. Man mano che gli eventi vengono indicizzati nel dominio di ricerca, puoi utilizzare Kibana per eseguire l’analisi dei dati sugli eventi e aggiornare i pannelli di controllo visivi in tempo reale.

Pipeline di riproduzione eventi

Il seguente diagramma mostra la Pipeline di riproduzione eventi. Per registrare gli eventi che sono stati elaborati dal sistema negli ultimi 14 giorni (ad esempio quando la piattaforma deve essere ripristinata in seguito a un guasto), puoi iscrivere questa pipeline al tuo SNS argomento Amazon e quindi rielaborare gli eventi.

Questa pipeline è composta da una SQS coda Amazon che memorizza nel buffer gli eventi forniti dall'SNSargomento Amazon e da una AWS Lambda funzione che analizza gli eventi dalla coda e li reindirizza nella normale pipeline di elaborazione degli eventi, anch'essa sottoscritta al tuo argomento.

La Event Replay Pipeline in formato diagramma di flusso. Da sinistra a destra, inizia con un SNS argomento di Amazon che distribuisce gli eventi filtrati a due processi paralleli. Il flusso superiore rappresenta la normale pipeline di elaborazione degli eventi, che include una SQS coda Amazon che elabora gli eventi. Il flusso inferiore, denominato "»fork-event-replay-pipeline, include una coda di SQS replay Amazon in cui gli eventi vengono temporaneamente archiviati prima di essere elaborati da una funzione di replay Lambda. Questa funzione Lambda ha la capacità di reindirizzare gli eventi nella normale pipeline di elaborazione degli eventi o di conservarli per la riproduzione, a seconda che la funzione di replay sia abilitata o disabilitata. Il diagramma indica anche che gli operatori hanno il controllo sull'attivazione o la disabilitazione della funzionalità di riproduzione degli eventi.
Nota

Per impostazione predefinita, la funzione di riproduzione è disattivata e gli eventi non vengono reindirizzati. Se devi rielaborare gli eventi, devi abilitare la coda di SQS replay di Amazon come fonte di eventi per la AWS Lambda funzione di replay.

Implementazione di Event Fork Pipelines AWS

La suite AWS Event Fork Pipelines (scegli Mostra app che creano IAM ruoli o politiche di risorse personalizzati) è disponibile come gruppo di applicazioni pubbliche in AWS Serverless Application Repository, da dove puoi distribuirle e testarle manualmente utilizzando la console.AWS Lambda Per informazioni sulla distribuzione delle pipeline tramite la console, consulta. AWS Lambda Iscrizione a AWS Event Fork Pipelines a un argomento Amazon SNS

In uno scenario di produzione, consigliamo di incorporare AWS Event Fork Pipelines nel modello generale dell'applicazione. AWS SAM La funzionalità di applicazione annidata consente di eseguire questa operazione aggiungendo la risorsa al AWS SAM modello, facendo riferimento AWS::Serverless::Application alla AWS SAR ApplicationId e all'applicazione nidificata. SemanticVersion

Ad esempio, è possibile utilizzare Event Storage and Backup Pipeline come applicazione annidata aggiungendo il seguente YAML frammento alla Resources sezione del modello. AWS SAM

Backup: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:us-east-2:123456789012:applications/fork-event-storage-backup-pipeline SemanticVersion: 1.0.0 Parameters: #The ARN of the Amazon SNS topic whose messages should be backed up to the Amazon S3 bucket. TopicArn: !Ref MySNSTopic

Quando specificate i valori dei parametri, potete utilizzare le funzioni AWS CloudFormation intrinseche per fare riferimento ad altre risorse del modello. Ad esempio, nel YAML frammento precedente, il TopicArn parametro fa riferimento alla AWS::SNS::Topic risorsaMySNSTopic, definita altrove nel modello. AWS SAM Per ulteriori informazioni, consulta la Riferimento funzione intrinseca nella AWS CloudFormation Guida per l’utente.

Nota

La pagina della AWS Lambda console AWS SAR dell'applicazione include il pulsante Copia come SAM risorsa, che copia negli appunti quanto YAML necessario per annidare un' AWS SARapplicazione.