image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
SUELEN GUARIZ
SUELEN GUARIZ02/04/2024 20:12
Compartilhe

Amazon SNS vs. Amazon SQS: Desvendando as Diferenças e Escolhendo a Ferramenta Ideal

  • #AWS

Olá, pessoal! Neste artigo, vamos mergulhar no universo do Amazon SNS (Simple Notification Service) e do Amazon SQS (Simple Queue Service), explorando suas diferenças e te ajudando a escolher a ferramenta ideal para suas necessidades.

Introdução:

O Amazon SNS é um serviço de mensagens assíncronas que permite a comunicação entre diferentes partes de um sistema distribuído. Já o Amazon SQS oferece filas de mensagens para processamento assíncrono e escalável.

Diferenças entre Amazon SNS e Amazon SQS:

  • Modelo de comunicação:
  • SNS: Publicação/Assinatura (pub/sub) - ideal para fanout (uma mensagem para muitos destinos).
  • SQS: Filas - ideal para filas (mensagens processadas sequencialmente por um único consumidor).
  • Entrega de mensagens:
  • SNS: Entrega imediata para todos os assinantes.
  • SQS: As mensagens ficam na fila até serem processadas.
  • Escalabilidade:
  • SNS: Altamente escalável para milhões de endpoints.
  • SQS: Escalável horizontalmente para milhares de filas.

Quando usar o Amazon SNS?

  • Notificações em tempo real: alertas de temperatura, atualizações de pipelines de CI/CD, monitoramento de logs e eventos.
  • Fanout para múltiplos endpoints: integração com APIs e webhooks, notificações em dispositivos móveis, dashboards e interfaces.
  • Escalabilidade automática de recursos: ajuste automático de recursos na nuvem em resposta à demanda.
  • Notificações de eventos em sistemas IoT: monitoramento e gerenciamento remoto de dispositivos.

image

Quando usar o Amazon SQS?

  • Processamento assíncrono de mensagens: desacoplar sistemas e evitar gargalos (filas de pedidos, integrações com APIs).
  • Escalabilidade e resiliência: aumentar ou diminuir capacidade conforme demanda, sem comprometer confiabilidade.
  • Processamento em lote: agrupar mensagens para processamento eficiente.
  • Reenfileiramento e filas com atraso: garantir entrega de mensagens importantes e processamento em diferentes velocidades.

image

Configurando o Amazon SNS para Múltiplos Endpoints:

  1. Crie um tópico no SNS.
  2. Adicione assinantes ao tópico (filas do SQS, endpoints HTTP, e-mails, etc.).
  3. Configure políticas de acesso para controlar quem pode publicar e assinar tópicos.
  4. Utilize HTTPS para comunicação com endpoints externos.
  5. Ative o registro de eventos para rastrear atividades.
  6. Configure uma fila de destino para mensagens não entregues (Dead Letter Queue).

Configurando o Amazon SNS para Múltiplos Endpoints:

  1. Crie um tópico no SNS.
  2. Adicione assinantes ao tópico (filas do SQS, endpoints HTTP, e-mails, etc.).
  3. Configure políticas de acesso para controlar quem pode publicar e assinar tópicos.
  4. Utilize HTTPS para comunicação com endpoints externos.
  5. Ative o registro de eventos para rastrear atividades.
  6. Configure uma fila de destino para mensagens não entregues (Dead Letter Queue).

Práticas Recomendadas para Segurança com o Amazon SNS:

  • Autenticação e Autorização:
  • Utilize políticas de IAM para controlar quem pode acessar e modificar tópicos.
  • Configure autenticação e autorização para endpoints HTTP.
  • Criptografia:
  • Use HTTPS para comunicação com endpoints externos.
  • Criptografe mensagens em trânsito e em repouso.
  • Logs e Monitoramento:
  • Ative o registro de eventos para rastrear atividades.
  • Monitore o tópico para detectar atividades suspeitas.
  • Dead Letter Queue (DLQ):
  • Configure uma fila de destino para mensagens não entregues.
  • Investigue as causas das falhas de entrega e tome medidas corretivas.

Conclusão:

A escolha entre Amazon SNS e Amazon SQS depende das suas necessidades específicas. O SNS é ideal para notificações em tempo real e fanout, enquanto o SQS é mais adequado para filas e processamento assíncrono.

Recursos Adicionais:

Compartilhe
Recomendados para você
Bootcamp Cloud AWS
Jornada DevOps com AWS - Impulso
Decola Tech 2025
Comentários (0)