← Microservices: desenhar fronteiras e operar sistemas distribuídos
04 / 12 · 40 MIN

Mensagens e filas

Controla duplicação, atraso e recuperação de mensagens.

Conceito e mecanismo

Mensagens permitem separar aceitação de processamento, mas introduzem estados que precisam de acompanhamento. Entrega ao broker não prova conclusão pelo consumidor. O contrato deve explicar duplicação, ordenação, retenção, reconhecimento e comportamento perante falha. A documentação de SQS standard é um exemplo explícito de entrega pelo menos uma vez, com possibilidade de duplicados. Para efeitos de negócio, o consumidor precisa de identificar a operação e evitar repetir uma alteração já aplicada. Um marcador de deduplicação guardado depois do efeito pode deixar um intervalo de falha. A atualização do efeito e do registo de processamento deve ter uma estratégia coerente para a fronteira transacional disponível.

Aplicação guiada

Num exercício original, chegam 140 mensagens por segundo e são concluídas 100, de forma constante e sem perdas. A fila cresce 40 por segundo, ou 2400 por minuto. Aumentar consumidores só ajuda dentro da capacidade da base e das dependências. Observa idade da mensagem mais antiga além da profundidade: um backlog pequeno pode conter trabalho urgente parado. Mensagens que falham repetidamente devem ser isoladas com diagnóstico e responsável, preservando dados apenas nos locais autorizados. Antes de redrive, corrige a causa, avalia idempotência e controla o ritmo. Quando a ordem importa, retirar um item para uma DLQ pode permitir que os seguintes avancem fora da sequência de negócio esperada.

NA PRÁTICA

140 entradas/s menos 100 conclusões/s acumulam 2400 mensagens num minuto.

Armadilhas comuns

Fila como capacidade infinita; acknowledgment como sucesso comercial; redrive sem corrigir causa.

Tópicos relacionados: Fronteiras e contratos · Dados e transações distribuídas · Resiliência e carga

Leva esta ideia contigo

Liga cada mensagem ao estado da operação que representa.

Criar conta

Referência: Queue-based load leveling · Microservice architecture patterns and scoped platform examples; primary guidance consulted 2026-09-30