Backend, données et sécurité Plus de détails C · Convention industrielle Plateforme: Web

Transactional Outbox

Boîte de sortie transactionnelle

Une boîte d'envoi transactionnelle enregistre un changement de données et un enregistrement de message dans une seule transaction de base de données locale. Un relais envoie le message enregistré après la validation de la transaction.

Vous pourriez l'appeler Transactional Outboxmodèle de boîte d'envoimodèle de boîte de sortie transactionnelleboîte d'envoi de la base de données

Voir comment cela fonctionne

Exemple travaillé originalBoîte de sortie transactionnelle
État & récupérationBoîte de sortie transactionnellelocal transaction(business row + outbox row) -> relay/CDC -> broker -> idempotent consumer
UN ENGAGEMENT DE BASE DE DONNÉESCOMMIT ✓
orders✓order_2048
outbox✓evt_784
✓ Intentions de commande et d'événement enregistrées ensembletx_42
GARDER SÉCURISÉLa ligne métier et la ligne de boîte d'envoi s'engagent dans une seule transaction de base de données locale.RÉCUPÉRERLe relais réessaie de publier ; les consommateurs gèrent les ID d'événements en double.
local transaction(business row + outbox row) -> relay/CDC -> broker -> idempotent consumerJOB
Boîte de sortie transactionnelleFiabilité du backend

Un autre exemple

Le passage en caisse enregistre la commande `984` et l'événement de boîte d'envoi `OrderCreated:984` dans une seule transaction. Un relais publie l'événement plus tard. S'il s'arrête après l'envoi mais avant de marquer la ligne, il peut envoyer à nouveau. Le consommateur supprime le doublon grâce à l'ID de l'événement.

Parties principales

  1. 01changement de données métier
  2. 02ligne d'événement dans la boîte d'envoi
  3. 03Une transaction locale
  4. 04Relai ou flux de changements
  5. 05publication de courtier
  6. 06Consommateur sûr contre les doublons

Utilisez-le lorsque

Utilisez-le lorsqu'un changement de base de données engagé doit conduire de manière fiable à un message ou à un événement. Gardez la boîte d'envoi dans la même transaction et faites fonctionner le relais comme son propre processus fiable.

Ne l'utilisez pas lorsque

N'appelez pas cela une livraison unique ou une transaction unique à travers les services. Prévoyez des événements répétés, leur ordre, le délai de relais, le nettoyage et la gestion sécurisée des doublons.

Nom utilisé dans le code

local transaction(business row + outbox row) -> relay/CDC -> broker -> idempotent consumer

Avant d'expédier

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.

Demande que vous pouvez copier

Outcome: Complete the task with Boîte de sortie transactionnelle (Transactional Outbox). User context: Le passage en caisse enregistre la commande `984` et l'événement de boîte d'envoi `OrderCreated:984` dans une seule transaction. Un relais publie l'événement plus tard. S'il s'arrête après l'envoi mais avant de marquer la ligne, il peut envoyer à nouveau. Le consommateur supprime le doublon grâce à l'ID de l'événement. Technical concept or control: Boîte de sortie transactionnelle (Transactional Outbox). Why it fits: Utilisez-le lorsqu'un changement de base de données engagé doit conduire de manière fiable à un message ou à un événement. Gardez la boîte d'envoi dans la même transaction et faites fonctionner le relais comme son propre processus fiable. Do not use it when: N'appelez pas cela une livraison unique ou une transaction unique à travers les services. Prévoyez des événements répétés, leur ordre, le délai de relais, le nettoyage et la gestion sécurisée des doublons. 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): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes 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.

Vérifiez cette demande

Review how Boîte de sortie transactionnelle (Transactional Outbox) is used now. Definition: Une boîte d'envoi transactionnelle enregistre un changement de données et un enregistrement de message dans une seule transaction de base de données locale. Un relais envoie le message enregistré après la validation de la transaction. 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.

C
Ce terme est-il officiel ?

Convention industrielle

Les gens utilisent souvent ce terme au travail. Les sources listées peuvent soutenir la pratique ou les limitations. Elles ne définissent pas toutes les parties du terme.

Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes ou frameworks.

Portée
Seulement ce que couvre la source:nom canonique、définition、mise en œuvre、guide d'utilisation、directives d'évitement
Statut du document
stable
Coché activé
2026-07-30

Sources et portée des preuves

Source faisant autorité + Référence de terme · Amazon Web Services · stable Transactional outbox pattern Portée: nom canonique、définition、mise en œuvre、guide d'utilisation、directives d'évitement Rôle ici: Référence directe au terme La source couvre: nom canonique, définition, mise en œuvre, guide d'utilisation, directives d'évitement

Copiez-le vous-même

Le navigateur n'a pas pu copier ceci. Sélectionnez la requête ci-dessous et copiez-la vous-même.