Message Queue
Fila de mensagens
Uma fila de mensagens mantém trabalhos ou mensagens até que um consumidor possa processá-los. Produtores e consumidores podem operar em tempos e velocidades diferentes.
Outro exemplo
O checkout grava o pedido 984 e um registro da caixa de saída em uma única transação. Um relé então envia “gerar recibo” para uma fila durável. Três trabalhadores confirmam apenas depois de salvar o PDF e tentam novamente falhas curtas de armazenamento com recuo. Uma mensagem que sempre falha vai para uma fila de mensagens mortas com seu ID de correlação.
Partes principais
- 01Produtor e mensagem
- 02fila e entrega duráveis
- 03reconhecimento do consumidor e caminho de falha
Use-o quando
Use uma fila para lidar com picos de tráfego, separar trabalhos lentos, tentar novamente falhas curtas ou compartilhar tarefas. Defina exatamente como a entrega funciona.
Não o use quando
Não adicione uma fila quando uma resposta imediata for necessária. Também evite fazê-lo sem consumidores idempotentes, limites de backlog, observabilidade e um plano para mensagens que sempre falham.
Nome usado no código
durable queue + delivery/ack policy + idempotent consumer + retry/DLQ Antes de lançar
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Fila de mensagens (Message Queue). User context: O checkout grava o pedido 984 e um registro da caixa de saída em uma única transação. Um relé então envia “gerar recibo” para uma fila durável. Três trabalhadores confirmam apenas depois de salvar o PDF e tentam novamente falhas curtas de armazenamento com recuo. Uma mensagem que sempre falha vai para uma fila de mensagens mortas com seu ID de correlação. Technical concept or control: Fila de mensagens (Message Queue). Why it fits: Use uma fila para lidar com picos de tráfego, separar trabalhos lentos, tentar novamente falhas curtas ou compartilhar tarefas. Defina exatamente como a entrega funciona. Do not use it when: Não adicione uma fila quando uma resposta imediata for necessária. Também evite fazê-lo sem consumidores idempotentes, limites de backlog, observabilidade e um plano para mensagens que sempre falham. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Nenhum padrão oficial único controla todo o termo. Seu significado pode mudar entre equipes, plataformas ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Conferir este pedido
Review how Fila de mensagens (Message Queue) is used now. Definition: Uma fila de mensagens mantém trabalhos ou mensagens até que um consumidor possa processá-los. Produtores e consumidores podem operar em tempos e velocidades diferentes. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.