Event-Driven Notification Platform · View 26 of 26 · 6 · Assurance
Failure Modes and Disaster Recovery
Everything that can break, what covers it, and the one trade-off deliberately accepted.
Copy
PNG
PDF
⋯
Editable source
SVG
draw.io
All views
Infrastructure failure — red is the failure, the label is the cover
Infrastructure failure — red is the failure, the label is the cover
Compute and storage
Compute and storage
Node loss
PDB plus reschedule
Node loss...
Broker loss
RF 3 · min.insync 2
Broker loss...
Zone loss
3 zones · quorum holds
Zone loss...
Region loss
warm DR · RTO 30 min
Region loss...
Stateful services
Stateful services
PostgreSQL primary loss
auto failover under 30 s
PostgreSQL primary loss...
Flink job failure
checkpoint restore 60 s
Flink job failure...
Temporal outage
immediate path unaffected
Temporal outage...
Redis loss
dedup fails open · duplicates over loss
Redis loss...
Dependency failure
Dependency failure
Providers
Providers
Provider outage
circuit opens · secondary
Provider outage...
Both vendors down
park in DLQ · replay
Both vendors down...
Provider throttling
adaptive TPS · P2 shed
Provider throttling...
Internal services
Internal services
Template Service down
last published cached
Template Service down...
Config Service down
rules held in Flink state
Config Service down...
Customer Master down
24 h profile cache
Customer Master down...
Poison message
3 strikes then DLQ
Poison message...
Recovery tooling
Replay Service · DLQ console
Recovery tooling...
Backup
PITR 7 d · cross-region
Backup...
Game day
quarterly · these exact modes
Game day...
redrive when healthy
redrive when healthy
inspect and fix
inspect and fix
restore path
restore path
exercises quarterly
exercises quarterly
Failure Modes and Disaster Recovery
Failure Modes and Disaster Recovery
Risk / gap
Risk / gap
Application we own
Application we own
Data store
Data store
Security / platform
Security / platform
failure / alternate
failure / alternate
batch
batch
RPO 0 in-region for an acknowledged event, RPO 5 min cross-region, RTO 30 min. The one accepted trade-off is drawn in the second box: if Redis is lost, deduplication fails open and the platform sends duplicates rather than dropping notifications.
RPO 0 in-region for an acknowledged event, RPO 5 min cross-region, RTO 30 min. The one accepted trade-off is drawn in the second box: if Redis is lost, deduplication fails open and the platform sends duplicates rather than dropping notifications.
v 1.0 · owner SRE and Security Architecture · date 2026-08
v 1.0 · owner SRE and Security Architecture · date 2026-08
Text is not SVG - cannot display
The stated contract
At-least-once processing with idempotent consumers, and deduplication that suppresses duplicates where it can
The platform prefers duplicate processing over lost notifications, which is requirement nine restated as a design rule
No acknowledged event is lost: acknowledgement happens only after a durable quorum write
The accepted trade-off
If Redis is lost, deduplication fails open — the platform sends duplicates rather than dropping notifications
Flink keyed state and the unique dedup_key constraint still catch most of it, so the exposure is the window between them
Failing closed would drop transactional notifications during a cache incident, which is the worse outcome
Verification
Every mode on this page is exercised in a quarterly game day, not assumed
Broker kill, zone drain, provider blackhole and poison message are automated in the staging chaos run on every release train
Region failover is rehearsed twice a year with a real DNS cutover
◀ Identity and Access — Producer Authentication
All views