Skip to content

Infraestrutura em Terraform para orquestração de Lambdas com EventBridge e DLQ via SQS

Notifications You must be signed in to change notification settings

jarodsim/event-driven-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plataforma de Processamento Assíncrono com Arquitetura Orientada a Eventos ("Desafio" gerado por IA)

🎯 Objetivo

Criar uma arquitetura distribuída baseada em eventos, com serviços desacoplados que processam dados de forma assíncrona, utilizando os principais serviços da AWS e Terraform.


🧱 Arquitetura Geral

flowchart TD
  A[API Gateway] --> B[Lambda Entrada]
  B --> C[EventBridge Bus]
  C --> D1[Lambda - Validação]
  C --> D2[Lambda - Faturamento]
  C --> D3[Lambda - Notificação]
  D1 -->|Falha| E1[DLQ - Validação]
  D2 -->|Falha| E2[DLQ - Faturamento]
  D3 -->|Falha| E3[DLQ - Notificação]
Loading

📦 Componentes

1. API Gateway

  • Recebe requisições HTTP e envia para a primeira Lambda.

2. Lambda Entrada

  • Valida entrada básica e publica evento no EventBridge.

3. EventBridge Bus

  • Dispara eventos para os serviços consumidores com base em regras.

4. Serviços consumidores

  • Lambda de Validação
  • Lambda de Faturamento
  • Lambda de Notificação

5. Dead Letter Queues (DLQs)

  • Cada Lambda tem sua fila SQS de erro.

6. Observabilidade

  • CloudWatch Logs e Métricas
  • Alarmes em caso de falhas

🛠️ Tecnologias

  • AWS Lambda
  • AWS API Gateway
  • AWS EventBridge
  • AWS SQS - Com DLQ
  • AWS CloudWatch
  • AWS IAM
  • Terraform
  • Python

🔄 Fluxo do Evento

  1. Usuário faz requisição via API Gateway
  2. Lambda de entrada valida e publica no EventBridge
  3. Cada serviço recebe o evento e processa
  4. Erros vão para DLQs
  5. Logs e métricas são monitorados

About

Infraestrutura em Terraform para orquestração de Lambdas com EventBridge e DLQ via SQS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published