Deployment Topology
:::info Source
Sourced from services/notification-service/DEPLOYMENT_TOPOLOGY.md in the documentation repo.
:::
1. Containers
notif-apinotif-dispatcher(picks from queue, sends via provider)notif-digest-batcher(periodic)notif-webhook-receiver(for provider callbacks)notif-outbox-relay
2. Scaling
| Container | Min | Max | HPA |
|---|---|---|---|
| api | 3 | 10 | CPU>60% |
| dispatcher | 5 | 50 | queue > 1000 |
| webhook | 3 | 10 | rate > 200/s |
3. Resources
api: 300m/1000m, 256Mi/512Mi. dispatcher: 500m/2000m, 512Mi/1Gi.
4. Queue
Redis Streams or BullMQ for per-channel queues (email, sms, push).
5. Providers
- Email: Amazon SES (primary) + SendGrid (failover).
- SMS: Twilio (primary) + Vonage (regional).
- Push: FCM (Android + web) + APNs (iOS).
6. Regional
Per region. Tenant sends route through regional provider pool (compliance — EU data → EU SES).
7. Service Mesh
mTLS. Egress: providers, analytics, audit sink.
8. Release
Blue/green api. Rolling dispatcher. Template deploys versioned.
9. DR
RPO 15 min. Queue loss = unsent notifications; events retained in outbox allow resend.