Skip to content

题目15:站内信 / 消息通知系统设计 ​

📊 评分:— | 📅 完成时间:待完成


📝 题目 ​

如果让你设计一个消息通知系统,支持站内信、短信、邮件、App Push,你会怎么设计整体架构?如何保证可靠性、可扩展性和模板化能力?


💬 我的回答 ​


📖 参考答案 ​

一、整体拆分 ​

  • 消息接入层
  • 模板与变量渲染层
  • 路由分发层
  • 多渠道发送层
  • 回执与状态跟踪层

二、核心能力 ​

  • 模板管理
  • 多渠道路由
  • 失败重试
  • 限流与优先级
  • 幂等去重
  • 发送记录查询

三、典型流程 ​

  1. 业务系统提交消息请求
  2. 校验参数、选择模板并渲染变量
  3. 投递到 MQ 异步处理
  4. 根据渠道调用短信、邮件、Push、站内信服务
  5. 回写发送状态并支持重试

四、设计要点 ​

  • MQ 解耦削峰
  • provider 适配层,便于渠道切换
  • 消息记录表便于审计和对账
  • 重试要控制次数,避免轰炸用户

🎯 面试标准话术 ​

"通知系统的难点不在发送本身,而在模板、路由、异步解耦、失败重试和渠道治理。设计时我会把接入、模板、分发、发送、回执分层,保证后续扩展新渠道时改动最小。"

努力工作 享受生活