Event-Driven Notification Platform · View 10 of 26 · 3 · Data
Event Topology and Priority Tiers
Which topics exist, why three tiers, how ordering is guaranteed, and how a stuck message gets out.
Copy
PNG
PDF
⋯
Editable source
SVG
draw.io
All views
Event topic
Event topic
Rule evaluation
Rule evaluation
Intent topic
Intent topic
Channel topic
Channel topic
Failure path
Failure path
P0 · transactional
P0 · transactional
evt.valid.p0
48 part · 7 d
evt.valid.p0...
Reserved slot group
never starved
Reserved slot group...
notif.intent.p0
24 partitions
notif.intent.p0...
deliver.*.p0
consumed first
deliver.*.p0...
dlq.p0
page on first message
dlq.p0...
P1 · operational
P1 · operational
evt.valid.p1
120 part · 7 d
evt.valid.p1...
Default slot group
Default slot group
notif.intent.p1
60 partitions
notif.intent.p1...
deliver.*.p1
deliver.*.p1
dlq.p1
alert above 100
dlq.p1...
P2 · bulk and marketing
P2 · bulk and marketing
evt.valid.p2
72 part · 3 d
evt.valid.p2...
Capped parallelism
sheds first
Capped parallelism...
notif.intent.p2
36 partitions
notif.intent.p2...
deliver.*.p2
throttled to spare capacity
deliver.*.p2...
dlq.p2
daily digest
dlq.p2...
Replay and recovery
Replay and recovery
Event Archive
Iceberg · queryable
Event Archive...
Replay Service
range plus filter
Replay Service...
evt.replay
separate consumer group
evt.replay...
Dedup suppresses
dedup_key match
Dedup suppresses...
Replay audit
who · range · count
Replay audit...
Event Topology — Priority Tiers, DLQ and Replay
Event Topology — Priority Tiers, DLQ and Replay
Queue / topic
Queue / topic
Application we own
Application we own
Data store
Data store
Decision point
Decision point
Security / platform
Security / platform
Partition key is tenant_id:entity_id, so OrderCreated to OrderDelivered stay ordered for one order without any global ordering guarantee. Tier separation is what stops a marketing burst delaying a one-time passcode.
Partition key is tenant_id:entity_id, so OrderCreated to OrderDelivered stay ordered for one order without any global ordering guarantee. Tier separation is what stops a marketing burst delaying a one-time passcode.
v 1.0 · owner Data & AI Global Practice · date 2026-08
v 1.0 · owner Data & AI Global Practice · date 2026-08
Text is not SVG - cannot display
The tiering decision
Three tiers end to end — transactional, operational, bulk — with separate topics, consumer groups and Flink slot groups
Without this, one campaign of 20 M sends delays a one-time passcode; priority inside a single topic cannot fix head-of-line blocking
The cost is roughly triple the topic and consumer-group count, which is operational overhead, not runtime cost
Ordering
Partition key is tenant_id:entity_id, giving per-entity ordering with no global ordering requirement
OrderCreated, OrderPaid, OrderShipped, OrderDelivered stay ordered for one order id
Ordering across entities, tenants or tiers is explicitly not guaranteed and is documented per event type
Recovery
Replay reads the Iceberg archive rather than rewinding a live consumer group, so replay never disturbs live traffic
Replayed events land on a separate topic with a separate consumer group; deduplication suppresses what was already sent
DLQ retention is 30 days, long enough to survive a holiday weekend plus a fix
◀ Data Flow
All views
Data Architecture and Retention ▶