构建一个服务,让每个团队用通知类型 + 收件人来调用它,并由该服务来解析 channel、模板、用户偏好和优先级。关键的设计动作是优先级车道(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)
