Zbuduj jeden serwis, który każdy zespół wywołuje z typem powiadomienia + odbiorcą, i pozwól serwisowi rozstrzygnąć kanał, szablon, preferencje użytkownika i priorytet. Kluczowym posunięciem projektowym są pasy priorytetów (priority lanes) — OTP nie może czekać za marketingowym mailingiem do 2 mln użytkowników.
Architektura
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)
