聊聊消息中心的设计与实现逻辑

发布时间:2023-01-09 20:00

厌烦被消息打扰,又怕突然间的安静;

一、业务背景

微服务的架构体系中,会存在很多基础服务,提供一些大部分服务都可能需要的能力,比如文件管理、MQ队列、缓存机制、消息中心等等,这些服务需要提供各种可以复用的方法或者接口,以便其他业务服务可以快速调用;下面来看看消息通知的原理:

聊聊消息中心的设计与实现逻辑_第1张图片

这里的消息不同于MQ队列,是指业务侧的通知机制,例如短信、邮件、系统消息等,在业务层面的需求很多,通常会封装单独的消息中心提供通知机制;

从流程上面看,消息通知是典型的生产-消费模式,业务侧不断的生产消息,消息中心在接收之后进行消费,把通知推送到相应的渠道中,很显然这种逻辑具备很高的复用性。

二、消息通知

1、流程管理

消息通知的流程设计,在各个业务线中通过消息中心提供的接口方法,将不同场景下的消息内容提交到消息中心,消息中心进行统一维护管理,并根据消息的来源和去向,适配相应的推送逻辑:

聊聊消息中心的设计与实现逻辑_第2张图片

  • 消息生产:涉及到的场景很多,比如活动、营销机制、系统通知、业务流转、过期提醒等;
  • 消息管理:对预发送消息的结构和参数进行校验,并创建消息推送的任务,维护任务级别的推送管理,跟踪消息的状态周期;
  • 消息消费:基于消息任务的结构,构建消息推送的主体内容,并对接多个发送渠道,实现通知的高效触达;
  • 定时任务:消息可以直接即时推送,但如果是夜间定时任务触发,则要考虑推送延迟问题,将消息放在指定时段投递;
  • 渠道对接:通常不同的渠道意味着不同的场景,例如监控推送钉钉,活动一般推送微信,账户变动发邮件,营销走短信,业务则应用内通知;

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号