Skip to content

如何设计一个用户消息通知系统 ​

题目 ​

如何设计一个用户消息通知系统?

参考答案 ​

建议拆成几层:

  • 接入层
  • 模板层
  • 路由分发层
  • 多渠道发送层
  • 状态回执层

系统能力上还要补幂等、重试、限流和审计。

回答展开 ​

  • MQ 题最好分成生产端、Broker、消费端三段来讲。
  • 如果涉及幂等、重试、顺序性,重点说明业务语义而不是只看消息语义。
  • 如果是 Kafka,还可以带上分区、副本、ISR 这些关键字。

实际场景 ​

这些都是典型系统设计题。比如秒杀要解决削峰和防超卖,排行榜要解决实时排序,通知系统要解决模板、多渠道和失败重试。

努力工作 享受生活