Severity
Medium
Files
app/backend/src/notifications/**
Description
Notifications module publishes one message per recipient even when the content is identical (e.g., event reminder). In a 10k-attendee event this becomes 10k individual BullMQ jobs.
Acceptance Criteria
- Implement topic-based fanout: producer publishes 1 message to topic, workers subscribe and fan out at consumption time
- Batch delivery reduces producer DB lock contention by >=10x
- Load test: 10k recipients scenario shows throughput delta
Severity
Medium
Files
app/backend/src/notifications/**
Description
Notifications module publishes one message per recipient even when the content is identical (e.g., event reminder). In a 10k-attendee event this becomes 10k individual BullMQ jobs.
Acceptance Criteria