모든 팀이 알림 유형 + 수신자로 호출하는 하나의 서비스를 만들고, 그 서비스가 채널, 템플릿, 사용자 선호(preference), 우선순위를 해석하도록 하십시오. 핵심 설계 결정은 **우선순위 레인(priority lanes)**입니다 — OTP는 200만 사용자 대상 마케팅 대량 발송 뒤에서 기다릴 수 없습니다.
아키텍처
text
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)
