Loading

消息中心系统设计

消息中心系统设计

需求点

消息中心系统主要用于后台管理场景,运营圈定人群、选择样式模板、配置消息内容之后,就可以将消息推送到对应平台触达用户。对于运营侧,只需要产出对应内容文案;对于接入方的技术侧,只需要实现消息的查询逻辑和内容展示开发。

主要的功能点包括:

  • 支持周期和非周期消息;
  • 支持查看消息发送、曝光和点击统计数据;
  • 支持疲劳度控制;
  • 支持前端样式模板;
  • 支持消息撤回;

非功能性需求包括:

  • 可靠性:消息中心系统保障故障时间不超过1天;
  • 时效性:消息实际发送时间和设定时间的误差;
  • 正确性:不出现消息重复;

架构设计

业务架构

系统设计

1、中心化设计

由消息中心平台技术人员实现每个渠道消息实体的存储,各个下游渠道业务只需要接入消息实体查询服务就可以完成消息通知开发。

2、去中心化设计

消息中心平台技术人员只需要维护消息模板,每个下游渠道业务需要自行监听消息实体的投递,并实现消息实体的存储。

表结构设计

技术难点

  • 消息重复问题:发送消息记录落库,用于消息去重和疲劳度控制;
  • 消息顺序性:由于通过METAQ缓冲消息,所以要保证消息顺序性,只需要保证同一个用户的消息都投递到相同的队列中,这个需要自定义下消息投递队列的逻辑即可实现;
  • 消息撤回:消息实体表设计一个status字段,当status置为F时,消息为不展示状态;
  • 疲劳度如何设计:发送消息记录落库,如果限制为单用户一天最多发送3条消息,只需要统计下当前用户当天发送记录数就可以判断出当前是否还可以发送消息;

项目地址

TODO

posted @ 2023-06-04 22:31  flowers-bloom  阅读(1658)  评论(0)    收藏  举报