Message Queue
Coda dei messaggi
Una coda di messaggi mantiene lavori o messaggi fino a quando un consumatore può gestirli. Produttori e consumatori possono funzionare in tempi e velocità diversi.
Un altro esempio
Il checkout scrive l'ordine 984 e un record in uscita in un'unica transazione. Un relay poi invia “genera ricevuta” a una coda duratura. Tre lavoratori lo confermano solo dopo aver salvato il PDF e ritentano i fallimenti brevi di storage con backoff. Un messaggio che fallisce sempre va in una coda dead-letter con il suo ID di correlazione.
Parti principali
- 01Produttore e messaggio
- 02Coda e consegna durevoli
- 03Riconoscimento del consumatore e percorso di errore
Usalo quando
Usa una coda per gestire picchi di traffico, separare lavori lenti, ritentare fallimenti brevi o condividere compiti. Definisci esattamente come funziona la consegna.
Non usarlo quando
Non aggiungere una coda quando è richiesta una risposta immediata. Evitala anche senza consumatori idempotenti, limiti di backlog, osservabilità e un piano per i messaggi che falliscono sempre.
Nome usato nel codice
durable queue + delivery/ack policy + idempotent consumer + retry/DLQ Prima di spedire
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 Coda dei messaggi (Message Queue). User context: Il checkout scrive l'ordine 984 e un record in uscita in un'unica transazione. Un relay poi invia “genera ricevuta” a una coda duratura. Tre lavoratori lo confermano solo dopo aver salvato il PDF e ritentano i fallimenti brevi di storage con backoff. Un messaggio che fallisce sempre va in una coda dead-letter con il suo ID di correlazione. Technical concept or control: Coda dei messaggi (Message Queue). Why it fits: Usa una coda per gestire picchi di traffico, separare lavori lenti, ritentare fallimenti brevi o condividere compiti. Definisci esattamente come funziona la consegna. Do not use it when: Non aggiungere una coda quando è richiesta una risposta immediata. Evitala anche senza consumatori idempotenti, limiti di backlog, osservabilità e un piano per i messaggi che falliscono sempre. 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): Nessun singolo standard ufficiale controlla l'intero termine. Il suo significato può cambiare tra team, piattaforme o framework. 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.
Controlla questa richiesta
Review how Coda dei messaggi (Message Queue) is used now. Definition: Una coda di messaggi mantiene lavori o messaggi fino a quando un consumatore può gestirli. Produttori e consumatori possono funzionare in tempi e velocità diversi. 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.