Construisez un seul service que chaque équipe appelle avec un type de notification + destinataire, et laissez le service résoudre le canal, le template, les préférences utilisateur et la priorité. Le choix de conception clé est celui des files prioritaires — un OTP ne peut pas attendre derrière un envoi marketing de 2M d'utilisateurs.
Architecture
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)
