Construiește un singur serviciu pe care fiecare echipă îl apelează cu un tip de notificare + destinatar, iar serviciul rezolvă canalul, template-ul, preferințele utilizatorului și prioritatea. Decizia-cheie de design sunt benzile de prioritate (priority lanes) — un OTP nu poate aștepta în spatele unui blast de marketing către 2M de utilizatori.
Arhitectură
Services ─▶ Notify API ─▶ [validate + enrich] ─▶ Kafka topics
├─ otp/txn (high lane)
└─ marketing (bulk lane)
│
┌──── Dispatcher (per lane) ────┐
│ prefs check ─▶ template render │
└────┬──────┬──────┬────────────┘
Push Email SMS In-App
(provider adapters + rate limit)
