Backend, datos y seguridad Más detalle C · Convención de la industria Plataforma: Web

Transactional Outbox

Buzón Transaccional

Una bandeja de salida transaccional guarda un cambio de datos y un registro de mensaje en una sola transacción de base de datos local. Un relé envía el mensaje guardado después de que la transacción se confirma.

Ver cómo funciona
Podrías llamarlo Transactional Outboxpatrón outboxpatrón de buzón transaccionalbuzón de base de datos

Ver cómo funciona

Ejemplo trabajado originalBuzón Transaccional
Estado y recuperaciónBuzón Transaccionallocal transaction(business row + outbox row) -> relay/CDC -> broker -> idempotent consumer
UN COMMIT DE BASE DE DATOSCOMMIT ✓
orders✓order_2048
outbox✓evt_784
✓ Intención de pedido y de evento guardadas juntastx_42
MANTENER SEGUROLa fila de negocios y la fila de bandeja de salida se comprometen en una transacción local de base de datos.RECUPERAREl relé reintenta publicar; los consumidores gestionan IDs de eventos duplicados.
local transaction(business row + outbox row) -> relay/CDC -> broker -> idempotent consumerJOB
Buzón TransaccionalFiabilidad del backend

Otro ejemplo

El proceso de pago guarda el pedido `984` y el evento de bandeja de salida `OrderCreated:984` en una sola transacción. Un relé publica el evento después. Si se detiene después de enviar pero antes de marcar la fila, podría enviarlo de nuevo. El consumidor elimina el duplicado por ID de evento.

Partes principales

  1. 01Cambio de datos comerciales
  2. 02fila de evento de outbox
  3. 03Una transacción local
  4. 04Relay o flujo de cambios
  5. 05publicación del corredor
  6. 06Consumidor seguro contra duplicados

Úsalo cuando

Úselo cuando un cambio de base de datos comprometido deba conducir de manera confiable a un mensaje o evento. Mantenga la bandeja de salida en la misma transacción y opere el relé como su propio proceso confiable.

No lo uses cuando

No llames entrega única o una transacción entre servicios. Planea para eventos repetidos, su orden, retraso en la transmisión, limpieza y manejo seguro de duplicados.

Nombre usado en código

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

Antes de lanzarlo

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.

Solicitud que puedes copiar

Outcome: Complete the task with Buzón Transaccional (Transactional Outbox). User context: El proceso de pago guarda el pedido `984` y el evento de bandeja de salida `OrderCreated:984` en una sola transacción. Un relé publica el evento después. Si se detiene después de enviar pero antes de marcar la fila, podría enviarlo de nuevo. El consumidor elimina el duplicado por ID de evento. Technical concept or control: Buzón Transaccional (Transactional Outbox). Why it fits: Úselo cuando un cambio de base de datos comprometido deba conducir de manera confiable a un mensaje o evento. Mantenga la bandeja de salida en la misma transacción y opere el relé como su propio proceso confiable. Do not use it when: No llames entrega única o una transacción entre servicios. Planea para eventos repetidos, su orden, retraso en la transmisión, limpieza y manejo seguro de duplicados. 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): Ningún estándar oficial único controla todo el término. Su significado puede cambiar según equipos, plataformas o marcos. 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.

Revisa esta petición

Review how Buzón Transaccional (Transactional Outbox) is used now. Definition: Una bandeja de salida transaccional guarda un cambio de datos y un registro de mensaje en una sola transacción de base de datos local. Un relé envía el mensaje guardado después de que la transacción se confirma. 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
Qué tan oficial es este término?

Convención de la industria

La gente a menudo usa este término en el trabajo. Las fuentes listadas pueden apoyar la práctica o las limitaciones. No definen cada parte del término.

Ningún estándar oficial único controla todo el término. Su significado puede cambiar según equipos, plataformas o marcos.

Alcance
Solo lo que cubre la fuente:nombre canónico、definición、implementación、orientación de uso、guía para evitarlo
Estado del documento
estable
Comprobado el
2026-07-30

Fuentes de evidencia y alcance

Fuente de autoridad + Referencia del término · Amazon Web Services · estable Transactional outbox pattern Alcance: nombre canónico、definición、implementación、orientación de uso、guía para evitarlo Rol aquí: Referencia de término directo La fuente cubre: nombre canónico, definición, implementación, orientación de uso, guía para evitarlo

Cópialo tú mismo

El navegador no pudo copiar esto. Selecciona la solicitud a continuación y cópiala tú mismo.