Traducción. Autoritativo: ../../adr/adr-015-dual-rail-sending.md.
Contexto
Los rate limits del proveedor se comparten entre TODOS los tenants (los límites de Resend aplican por team). El blast de marketing de un tenant puede dejar sin correo transaccional (OTPs, invitaciones) a todos los demás.Decisión
Dos carriles por canal:notif.{canal}.transactional (prioridad, SLO de latencia en segundos) y
notif.{canal}.marketing (throughput). Los workers de marketing ceden cuando la profundidad
transaccional supera el umbral. Token bucket global por proveedor más bucket de uso justo por tenant
(Upstash). Los blasts de email usan el endpoint batch de Resend (100 por request) contra NUESTRO
almacén de contactos; sincronizar contactos a Resend Audiences está PROHIBIDO. Backoff ante 429;
nunca descartar. Antes de G1: solicitar el aumento de rate limit a Resend; modelar el techo (10 rps ×
100 = 60k emails/min teóricos; las cuotas de plan son el tope real).
Consecuencias
- Aislamiento entre tenants sobre proveedores compartidos; latencia transaccional protegida. − Dos colas por canal que operar; vale la pena.