Tipos de tópicos
Tópicos padrão
Os tópicos padrão podem ser usados em diversos cenários, desde que a aplicação possa processar mensagens recebidas mais de uma vez e fora de ordem, por exemplo, em processos de fanout de mensagens para codificação de mídia, detecções de fraudes, cálculos de impostos, índices de pesquisa e aplicações de alertas críticos.
Throughput máximo: os tópicos padrão oferecem suporte para um número quase ilimitado de mensagens por segundo.
Melhor ordenação possível: ocasionalmente, as mensagens podem ser entregues em uma ordem diferente daquela em que foram publicadas.
Tópicos FIFO
Os tópicos FIFO são projetados para aprimorar os sistemas de mensagens entre as aplicações quando a ordem das operações e dos eventos é essencial ou quando duplicatas não podem ser toleradas, por exemplo, em processos de fanout de mensagens para registros em log de transações bancárias, monitoramentos de estoques, rastreamentos de voos, gerenciamentos de inventários e aplicações de atualização de preços.
Alto throughput: os tópicos FIFO oferecem suporte para, no máximo, 3,000 mensagens por segundo ou 10 MB por segundo por tópico FIFO (o que ocorrer primeiro).
Ordenação estrita: a ordem em que as mensagens são publicadas e entregues é estritamente preservada (ou seja, primeiro a entrar, primeiro a sair).
Melhor eliminação de duplicação possível: uma mensagem é entregue, no mínimo, uma vez, entretanto, ocasionalmente, mais de uma cópia de uma mensagem é entregue.
Diversos tipos de assinatura: as mensagens podem ser entregues para endpoints application-to-application (A2A), como o Amazon SQS, o Amazon Kinesis Data Firehose, o AWS Lambda e o HTTPS, bem como para endpoints application-to-person (A2P), como SMS, notificações push móveis e e-mail.
Fanout de mensagens: cada conta pode oferecer suporte para 100 mil tópicos padrão e cada tópico oferece suporte para, no máximo, 12,5 milhões de assinaturas.
Eliminação de duplicação estrita: as mensagens duplicadas não são entregues. A eliminação de duplicação ocorre em um intervalo de cinco minutos, a partir do horário de publicação da mensagem.
Assinaturas do SQS: as mensagens podem ser entregues em filas do Amazon SQS.
Fanout de mensagens: cada conta pode oferecer suporte para mil tópicos FIFO e cada tópico oferece suporte para, no máximo, cem de assinaturas.
Origens e destinos de eventos
A computação orientada a eventos é um modelo no qual os serviços de assinante executam automaticamente o trabalho em resposta a eventos acionados pelos serviços de publicador. Este paradigma pode ser aplicado para automatizar fluxos de trabalho e, ao mesmo tempo, desacoplar os serviços que trabalham de forma coletiva e independente para atender a esses fluxos de trabalho. O Amazon SNS é um hub orientado a eventos que tem integração nativa com uma ampla variedade de origens e destinos de eventos da AWS.
Publicação e distribuição em lote de mensagens
A publicação de mensagens possibilita enviar dados, na forma de mensagens, para um tópico do Amazon SNS que entrega as mensagens de maneira assíncrona às aplicações assinadas ao tópico. É possível publicar entre uma e dez mensagens por solicitação de API. Você pode optar por agrupar as mensagens em lote para reduzir os custos do Amazon SNS. Cada mensagem pode conter, no máximo, 256 KB de dados. Se o seu caso de uso requerer cargas úteis de dados maiores, a biblioteca do cliente em versão ampliada do Amazon SNS armazenará a carga útil (até 2 GB) em um bucket do Amazon S3 e publicará a referência do objeto do Amazon S3 armazenado no tópico do Amazon SNS.
Filtragem de mensagens
A filtragem de mensagens permite que as aplicações de assinantes criem políticas de filtro para que essas aplicações possam receber somente as notificações que interessam aos assinantes em vez de receberem todas as mensagens publicadas no tópico. Isso possibilita a simplificação da arquitetura ao transferir a carga da lógica de filtragem de mensagens das aplicações de assinantes, bem como a lógica de roteamento de mensagens das aplicações de publicadores.
Documentação
Blogs
- Simplifying Your Pub/Sub Messaging with Amazon SNS Message Filtering
- Message Filtering Operators for Numeric Matching, Prefix Matching, and Anything-But Matching in Amazon SNS
- Monitoring Your Amazon SNS Message Filtering Activity with Amazon CloudWatch
- Managing Amazon SNS Subscription Attributes with AWS CloudFormation
Fanout e entrega de mensagens
Quando você publica uma mensagem em um tópico, o Amazon SNS replica e entrega a mensagem às aplicações assinadas ao tópico. O Amazon SNS oferece suporte à entrega de mensagens application-to-application (A2A) e application-to-person (A2P). O Amazon SNS também oferece suporte à entrega de mensagens entre regiões e entre contas, além do registro em log do status de entrega de mensagens com o Amazon CloudWatch.
Durabilidade da mensagem
O Amazon SNS usa vários mecanismos que funcionam em conjunto para proporcionar durabilidade às mensagens. Para começar, as mensagens publicadas são armazenadas em diversos servidores e datacenters separados geograficamente. Se um endpoint assinado não estiver disponível, o Amazon SNS executará uma política de novas tentativas de entrega de mensagens. Para preservar quaisquer mensagens não entregues antes do término da política de novas tentativas de entrega, você pode usar uma fila de mensagens não entregues desenvolvida pelo Amazon SQS. Além disso, você pode assinar fluxos de entrega do Amazon Kinesis Data Firehose para tópicos do Amazon SNS, o que permite que mensagens sejam enviadas para endpoints duráveis, como buckets do Amazon S3 ou tabelas do Amazon Redshift.
Criptografia de mensagens
O Amazon SNS fornece tópicos criptografados para proteger suas mensagens contra acesso não autorizado e anônimo. Quando você publica mensagens em tópicos criptografados, o Amazon SNS criptografa imediatamente as mensagens. A criptografia ocorre no servidor, usando um algoritmo AES-GCM de 256 bits e uma chave mestra do cliente (CMK) emitida com o AWS Key Management Service (KMS). As mensagens são armazenadas em formato criptografado e descriptografadas à medida que são entregues aos endpoints assinantes, como filas do Amazon SQS, fluxos do Amazon Kinesis Data Firehose, funções do AWS Lambda, endpoints HTTP/S, números de telefone, aplicativos móveis e endereços de e-mail.
Privacidade da mensagem
O Amazon SNS oferece suporte a endpoints da VPC (VPCE) usando o AWS PrivateLink. Você pode usar endpoints da VPC para publicar mensagens de forma privada em tópicos do Amazon SNS com a Amazon Virtual Private Cloud (VPC), sem utilizar a Internet pública. Esse recurso traz segurança adicional, ajuda a promover a privacidade dos dados e se alinha aos programas de garantia. Ao usar o AWS PrivateLink, você não precisa configurar um gateway da Internet (IGW), um dispositivo de conversão de endereços de rede (NAT) ou uma conexão de rede privada virtual (VPN). Você também não precisa usar endereços IP públicos.
Proteção de dados de mensagens
A proteção de dados de mensagens do Amazon SNS permite que proprietários de tópicos definam políticas de proteção de dados que possam descobrir e proteger dados confidenciais transmitidos por meio de seus tópicos. Isso pode ajudar você a simplificar a arquitetura ao transferir a carga da lógica de proteção de dados das aplicações e, ao mesmo tempo, auxiliar no cumprimento dos objetivos de conformidade, por exemplo, com regulamentações como a Lei de Portabilidade e Responsabilidade de Seguros de Saúde (HIPAA), o Regulamento Geral sobre a Proteção de Dados (RGPD), o Payment Card Industry Compliance (PCI) e o Programa Federal de Gerenciamento de Riscos e Autorizações (FedRAMP). Você pode auditar as mensagens recebidas em um tópico com a finalidade de determinar a quantidade de dados confidenciais que elas contêm, impedir que sejam entregues a assinantes posteriores usando o bloqueio, ou remover a identificação de dados específicos na carga útil usando a redação ou o mascaramento.
Arquivamento, reprodução e análise de mensagens
Para tópicos padrão, o Amazon SNS fornece uma conexão direta com o Amazon Kinesis Data Firehose, permitindo o armazenamento de mensagens em serviços como Amazon S3, Amazon Redshift, Amazon OpenSearch Service e MongoDB. Este recurso também possibilita o armazenamento de mensagens em serviços de análise, como Datadog, New Relic e Splunk. Para tópicos FIFO, o Amazon SNS oferece uma opção local para o armazenamento e a reprodução de mensagens, sem a necessidade de provisionar um recurso de arquivamento separado. Isso aprimora a durabilidade das aplicações orientadas a eventos e pode ajudar na recuperação de cenários de falha em processos posteriores.
Mensagens de texto SMS
O Amazon SNS oferece suporte ao envio de mensagens de texto SMS em grande escala para mais de 200 países, usando um serviço altamente disponível e durável com redundância entre vários provedores de SMS. Com o Amazon SNS, você pode controlar as identidades de origem ao usar um ID de remetente, códigos longos ou códigos curtos. Além disso, você pode usar o sandbox do Amazon SNS para validar as workloads de SMS antes de movê-las para a produção.
Notificações push móveis
As notificações móveis do Amazon SNS tornam o processo de fanout de notificações push móveis simples e econômico para dispositivos iOS, Android, Fire, Windows e Baidu. As notificações móveis podem ser acionadas com ações orientadas pelo usuário ou pela lógica de negócios. O Amazon SNS disponibiliza notificações push móveis usando o Amazon Device Messaging (ADM), Apple Push Notification Service (APNs), Baidu Cloud Push (Baidu), Firebase Cloud Messaging (FCM), Microsoft Push Notification Service for Windows Phone (MPNS) e Windows Push Notification Services (WNS).
Notificações por e-mail
O Amazon SNS oferece suporte à entrega de notificações para endereços de e-mail assinados a tópicos. Este recurso oferece suporte a uma variedade de casos de uso. Por exemplo, você pode usar o Amazon SNS para receber alertas de aplicações, como notificações por e-mail, para obter visibilidade aos seus fluxos de trabalho de DevOps. Dessa forma, você pode receber notificações imediatamente quando ocorrer um evento, como uma alteração específica em seu grupo do Amazon EC2 Auto Scaling, um novo arquivo carregado em seu bucket do Amazon S3 ou um limite de métrica violado no Amazon CloudWatch.
Saiba mais sobre os preços do Amazon SNS