Fanout para AWS Event Fork Pipelines - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Fanout para AWS Event Fork Pipelines

Para arquivamento e análise de eventos, a Amazon SNS agora recomenda usar sua integração nativa com o Amazon Data Firehose. Você pode inscrever streams de entrega do Firehose em SNS tópicos, o que permite enviar notificações para endpoints de arquivamento e análise, como buckets do Amazon Simple Storage Service (Amazon S3), tabelas do Amazon Redshift, Amazon Service (Service) e muito mais. OpenSearch OpenSearch Usar os streams de entrega da Amazon SNS com Firehose é uma solução totalmente gerenciada e sem código que não exige o uso de funções. AWS Lambda Para obter mais informações, consulte Fanout para streams de entrega do Firehose.

Você pode usar SNS a Amazon para criar aplicativos orientados a eventos que usam serviços de assinantes para realizar trabalhos automaticamente em resposta a eventos acionados pelos serviços do editor. Esse padrão de arquitetura pode tornar os serviços mais reutilizáveis, interoperáveis e dimensionáveis. No entanto, pode ser trabalhoso usar o processamento de eventos em pipelines que abordam os requisitos de manipulação de eventos comuns, como armazenamento de eventos, backup, pesquisa, análise e reprodução.

Para acelerar o desenvolvimento de seus aplicativos orientados a eventos, você pode inscrever pipelines de tratamento de eventos — desenvolvidos pelo Event Fork Pipelines — nos tópicos da Amazon. AWS SNS AWS O Event Fork Pipelines é um conjunto de aplicativos aninhados de código aberto, baseado no AWS Serverless Application Model (AWS SAM), que você pode implantar diretamente do pacote AWS Event Fork Pipelines (escolha Mostrar aplicativos que criam IAM funções personalizadas ou políticas de recursos) em sua conta. AWS

Para um AWS caso de uso do Event Fork Pipelines, consulte. Implantando e testando o aplicativo de amostra AWS Event Fork Pipelines

Como funciona o AWS Event Fork Pipelines

AWS O Event Fork Pipelines é um padrão de design sem servidor. No entanto, também é um conjunto de aplicativos sem servidor aninhados baseados em AWS SAM (que você pode implantar diretamente do AWS Serverless Application Repository (AWS SAR) para o seu, a fim de enriquecer suas Conta da AWS plataformas orientadas por eventos). Você pode implantar essas aplicações aninhadas individualmente, conforme sua arquitetura exigir.

O diagrama a seguir mostra um aplicativo AWS Event Fork Pipelines complementado por três aplicativos aninhados. Você pode implantar qualquer um dos pipelines do pacote AWS Event Fork Pipelines de AWS SAR forma independente, conforme sua arquitetura exige.

Event processing architecture with Amazon SNS topic feeding into multiple pipelines.

Cada pipeline é inscrito no mesmo SNS tópico da Amazon, permitindo-se processar eventos paralelamente à medida que esses eventos são publicados no tópico. Cada pipeline é independente e pode definir sua própria política de filtro de assinatura. Isso permite que um pipeline processe apenas um subconjunto dos eventos em que está interessado (em vez de todos os eventos publicados no tópico).

nota

Como você coloca os três AWS Event Fork Pipelines ao lado de seus pipelines regulares de processamento de eventos (possivelmente já inscritos em seu SNS tópico da Amazon), você não precisa alterar nenhuma parte do seu editor de mensagens atual para aproveitar os AWS Event Fork Pipelines em suas cargas de trabalho existentes.

O pipeline de armazenamento e backup de eventos

O diagrama a seguir mostra o pipeline de armazenamento e backup de eventos. Você pode inscrever esse pipeline em seu SNS tópico da Amazon para fazer backup automático dos eventos que fluem pelo seu sistema.

Esse pipeline é composto por uma SQS fila da Amazon que armazena em buffer os eventos entregues pelo SNS tópico da Amazon, uma AWS Lambda função que pesquisa automaticamente esses eventos na fila e os envia para um stream do Amazon Data Firehose e um bucket do Amazon S3 que faz backup duradouro dos eventos carregados pelo stream.

AWS event storage backup pipeline with SNS, SQS, Lambda, Kinesis, S3, and Athena components.

Para ajustar o comportamento de seu fluxo do Firehose, configure-o para armazenar em buffer, transformar e compactar seus eventos antes de carregá-los no bucket. Conforme os eventos são carregados, você pode usar o Amazon Athena para consultar o bucket usando consultas padrãoSQL. Você também pode configurar o pipeline para reutilizar um bucket do Simple Storage Service (Amazon S3) existente ou criar um novo.

O pipeline de pesquisa e análise de eventos

O diagrama a seguir mostra o pipeline de pesquisa e análise de eventos. Você pode inscrever esse pipeline em seu SNS tópico da Amazon para indexar os eventos que fluem pelo seu sistema em um domínio de pesquisa e, em seguida, executar análises sobre eles.

Esse pipeline é composto por uma SQS fila da Amazon que armazena em buffer os eventos entregues pelo SNS tópico da Amazon, uma AWS Lambda função que pesquisa os eventos da fila e os envia para um stream do Amazon Data Firehose, um domínio do Amazon Service que indexa os eventos carregados pelo stream do Firehose e um OpenSearch bucket do Amazon S3 que armazena os eventos de letra morta que não podem ser indexados no domínio de pesquisa.

Event search analytics pipeline with Serviços da AWS for data processing and storage.

Para ajustar o fluxo do Firehose em termos de armazenamento de eventos em buffer, transformação e compactação, você pode configurar esse pipeline.

Você também pode configurar se o pipeline deve reutilizar um OpenSearch domínio existente no seu Conta da AWS ou criar um novo para você. À medida que os eventos forem indexados no domínio de pesquisa, use o Kibana para executar a análise de seus eventos e atualizar os painéis visuais em tempo real.

O pipeline de reprodução de eventos

O diagrama a seguir mostra o pipeline de reprodução de eventos. Para registrar os eventos que foram processados pelo seu sistema nos últimos 14 dias (por exemplo, quando sua plataforma precisa se recuperar de uma falha), você pode inscrever esse pipeline no seu SNS tópico da Amazon e depois reprocessar os eventos.

Esse pipeline é composto por uma SQS fila da Amazon que armazena em buffer os eventos entregues pelo SNS tópico da Amazon e uma AWS Lambda função que pesquisa os eventos da fila e os redireciona para seu pipeline regular de processamento de eventos, que também está inscrito no seu tópico.

Event processing pipeline with Amazon SNS, SQS queues, and AWS Lambda for replay functionality.
nota

Por padrão, a função de reprodução está desabilitada e não redireciona seus eventos. Se precisar reprocessar eventos, você deve habilitar a fila de SQS repetição da Amazon como fonte de eventos para a AWS Lambda função de repetição.

Implantação de tubulações AWS Event Fork

O pacote AWS Event Fork Pipelines (escolha Mostrar aplicativos que criam IAM funções personalizadas ou políticas de recursos) está disponível como um grupo de aplicativos públicos no AWS Serverless Application Repository, de onde você pode implantá-los e testá-los manualmente usando o AWS Lambda console. Para obter informações sobre como implantar pipelines usando o AWS Lambda console, consulte. Inscrevendo um AWS Event Fork Pipelines em um tópico da Amazon SNS

Em um cenário de produção, recomendamos incorporar o AWS Event Fork Pipelines ao modelo geral do seu aplicativo. AWS SAM O recurso de aplicativo aninhado permite que você faça isso adicionando o recurso AWS::Serverless::Application ao seu AWS SAM modelo, referenciando o AWS SAR ApplicationId e o SemanticVersion do aplicativo aninhado.

Por exemplo, você pode usar o Event Storage and Backup Pipeline como um aplicativo aninhado adicionando o seguinte YAML trecho à Resources seção do seu modelo. 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

Ao especificar valores de parâmetros, você pode usar funções AWS CloudFormation intrínsecas para referenciar outros recursos em seu modelo. Por exemplo, no YAML trecho acima, o TopicArn parâmetro faz referência ao AWS::SNS::Topic recursoMySNSTopic, definido em outro lugar no AWS SAM modelo. Para obter mais informações, consulte o Referência à função intrínseca no Guia do usuário do usuário do AWS CloudFormation .

nota

A página do AWS Lambda console do seu AWS SAR aplicativo inclui o botão Copiar como SAM recurso, que copia o YAML necessário para aninhar um AWS SAR aplicativo na área de transferência.