Amazon SQS completa 20 anos: Duas décadas de mensageria confiável em escala

imagem

Em 13 de julho de 2006, lançamos o Amazon Simple Queue Service (Amazon SQS) como um dos três primeiros serviços disponibilizados aos clientes, juntamente com o Amazon EC2 e o Amazon S3. Aprendemos por experiência própria que sistemas distribuídos precisam de uma maneira confiável de trocar mensagens entre componentes sem criar dependências rígidas. Se um serviço chamasse outro diretamente e esse serviço estivesse lento ou indisponível, as falhas se propagavam em cascata por todo o sistema. O enfileiramento de mensagens resolveu isso ao permitir que os serviços se comunicassem de forma assíncrona: um produtor podia colocar uma mensagem em uma fila e seguir em frente, enquanto um consumidor a pegava quando estivesse pronto. Essa abordagem impedia que falhas em serviços individuais afetassem o restante do sistema.

Quando o Amazon SQS foi lançado publicamente em julho de 2006, tornou esse padrão disponível para todos os clientes da AWS. Vinte anos depois, essa função essencial — desacoplar produtores e consumidores — continua sendo o motivo pelo qual os clientes usam o SQS. No entanto, a escala, o desempenho e os controles operacionais em torno dele são bem diferentes agora.

Jeff Barr cobriu os primeiros 15 anos de marcos do SQS em seu post de 15º aniversário, desde o limite original de mensagens de 8 KB em 2006, passando pelas filas FIFO, criptografia do lado do servidor e integração com o Lambda. Nos últimos cinco anos, continuamos a dimensionar o SQS, adicionamos padrões de segurança mais robustos e introduzimos novas funcionalidades que atendem a padrões de carga de trabalho cada vez mais complexos.

Principais marcos entre 2021 e 2026

Modo de alto throughput para filas FIFO (2021)

Em maio de 2021, lançamos a disponibilidade geral do modo de alto throughput para filas FIFO, suportando até 3.000 transações por segundo (TPS) por ação de API, um aumento de dez vezes em relação ao limite anterior. Continuamos a elevar esse teto nos dois anos seguintes: para 6.000 TPS em outubro de 2022, para 9.000 TPS em agosto de 2023 e para 18.000 TPS em outubro de 2023, antes de atingir 70.000 TPS por ação de API em regiões selecionadas até novembro de 2023.

Criptografia do lado do servidor com SSE-SQS (2021)

Em novembro de 2021, introduzimos a criptografia do lado do servidor com chaves de criptografia gerenciadas pelo Amazon SQS (SSE-SQS), oferecendo aos clientes uma opção de criptografia que não exigia gerenciamento de chaves. Em outubro de 2022, tornamos o SSE-SQS o padrão para todas as filas recém-criadas, de modo que os clientes não precisassem mais habilitá-lo explicitamente.

Melhorias no redrive de filas de mensagens mortas (DLQ) (2021)

Expandimos progressivamente a forma como os clientes recuperam mensagens não consumidas das filas de mensagens mortas. Em dezembro de 2021, adicionamos o redrive de DLQ para a fila de origem diretamente no console do SQS. Em junho de 2023, estendemos essa capacidade ao AWS SDK e à CLI por meio de novas APIs, incluindo StartMessageMoveTask, CancelMessageMoveTask e ListMessageMoveTasks. Em novembro de 2023, adicionamos suporte ao redrive para filas FIFO.

Controle de acesso baseado em atributos (ABAC) (2022)

Em novembro de 2022, introduzimos o ABAC, permitindo que os clientes configurassem permissões de acesso com base em tags de filas, em vez de manter políticas estáticas conforme os recursos escalavam.

Suporte ao protocolo JSON (2023)

Em novembro de 2023, adicionamos suporte ao protocolo JSON no AWS SDK, reduzindo a latência de processamento de mensagens ponta a ponta em até 23% para uma carga útil de 5 KB e diminuindo o uso de CPU e memória no lado do cliente.

Integração com o console do Amazon EventBridge Pipes (2023)

Adicionamos a capacidade de conectar uma fila diretamente ao EventBridge Pipes a partir do console do SQS, roteando mensagens para uma ampla gama de destinos de serviços AWS sem escrever código de integração personalizado.

Biblioteca de cliente estendida para Python (2024)

Trouxemos a Biblioteca de Cliente Estendida, anteriormente disponível para Java, para desenvolvedores Python, permitindo que mensagens de até 2 GB fossem enviadas pelo SQS armazenando a carga útil no Amazon S3 e passando uma referência pela fila.

Aumento do limite de mensagens em trânsito para filas FIFO (2024)

Aumentamos o limite de mensagens em trânsito para filas FIFO de 20.000 para 120.000 mensagens, para que os consumidores possam processar significativamente mais mensagens simultaneamente sem serem restringidos pelo teto anterior.

Filas justas para cargas de trabalho multilocatário (2025)

Introduzimos filas justas para mitigar o problema do vizinho barulhento em filas padrão multilocatário. Ao incluir um ID de grupo de mensagens ao enviar mensagens, os clientes podem evitar que um único locatário atrase a entrega de mensagens para outros, sem exigir alterações no lado do consumidor.

Tamanho máximo de carga útil de mensagem de 1 MiB (2025)

Aumentamos o tamanho máximo da carga útil da mensagem de 256 KiB para 1 MiB para filas padrão e FIFO, ajudando os clientes a enviar mensagens maiores sem transferir dados para armazenamento externo. O mapeamento de origem de eventos do AWS Lambda para SQS foi atualizado em paralelo para suportar o novo tamanho de carga útil.

O constante por trás da mudança

Apesar de duas décadas de adições de recursos, o caso de uso fundamental do SQS não mudou. Os clientes o utilizam para desacoplar serviços, amortecer picos de tráfego e construir sistemas que permanecem resilientes quando componentes individuais falham. Esse mesmo padrão agora se estende às cargas de trabalho de IA. Os clientes usam filas SQS para armazenar em buffer as solicitações para modelos de linguagem de grande porte, gerenciar a taxa de transferência de inferência e coordenar a comunicação entre agentes de IA autônomos que operam como serviços independentes. Para ver um exemplo dessa arquitetura na prática, leia Criando agentes de IA assíncronos com o Amazon Bedrock.

Para saber mais sobre o Amazon SQS, visite a página do produto Amazon SQS, consulte o guia do desenvolvedor ou explore as atualizações recentes nos blogs da AWS.

— Esra

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *