Sukurkite vieną servisą, kurį kiekviena komanda iškviečia su pranešimo tipu + gavėju, ir leiskite servisui nustatyti kanalą, šabloną, naudotojo nustatymus ir prioritetą. Pagrindinis projektavimo sprendimas yra prioritetinės juostos (priority lanes) — OTP negali laukti už 2 mln. naudotojų marketingo šuolio.
Architektūra
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)
