系统消息有哪些?详细概述电商后台系统消息的设计思路

动态 未结 置顶 精帖
用户
悬赏:60飞吻

电商后台系统中,消息系统是一个必不可少的功能模块,其核心是帮助后台人员及时了解业务消息,保障业务正常运行。本文作者以此为出发点,详细的概述了电商后台中的系统消息的设计思路,与大家分享。

后台系统是一个庞大的功能体系,及时的了解每个功能的使用状况,保障业务正常进行是每个系统的重点。通常系统内会开发大量的监控功能(可视化的报表和非可视化的报表)来对这些业务进行监控,同时通知相应的负责人以及时了解业务和服务器状况。

常见的一些监控功能,如账号异常(账号异地登录、账号多次密码输入错误)、运营通知(活动上架、活动下架)、订单异常(订单堆积、派单堆积)、服务器异常(服务器宕机、CPU过载)、脚本异常(脚本卡死、进程过多)等等。

今天带大家来设计一个系统消息通知模块,通过简单的设置,完成个性化的消息发送,并且减轻后期代码的维护工作。首先我们来看看常见消息发送功能是如何实现的以及它们的优缺点。

01 实现方式

1.1 直接触发

直接触发是将消息发送的逻辑和具体的业务代码逻辑写在一起,当满足条件时,触发消息发送功能。

  • 优点:开发简单,如果功能封装好后,代码粘过来,十分钟功能基本就能完成;消息发送比较及时,消息发送逻辑和业务逻辑在一起,满足条件就会立即触发。
  • 缺点:后期如果需要添加、编辑或删除接收人信息,就需要修改代码,维护起来比较麻烦。熟悉代码的人可能几分钟就搞定了,新人估计就得看半天代码了。

我参与过多个系统的开发,发现这么干的人还是挺多的。总结一下应该有以下几个原因:

  1. 写起来简单,因为发送逻辑一般都是封装好的,只需要粘代码,修改一下发送参数就完事
  2. 一般后台业务系统比较多,使用的编程语言比较多,各语言之间相互调用需要配置基础服务,成本太大
  3. 消息通知通常属于系统基础功能,产品经理基本上不会去关注,也就不会去统一规划这个功能,技术就自己随意发挥了^_^

1.2 消息池

通过将所有消息先收集到一个消息池(如Mysql、Redis、Kafka等)中,然后再统一通过系统调度将消息发送给接收人。

  • 优点:功能模块化,可以做到统一管理,代码的调用可以更简洁,后期维护成本可以降到最低。
  • 缺点:消息会有延迟,消息池它是一个异步发送方式,消息的生产和发送是两个相互独立的过程;需要开发配置内容页面,开发量稍微大一点,但是后期能减轻更多的维护成本,我认为是非常值得的。

02 消息池模型

系统规划的目的就是让功能结构清晰,后期维护更轻松,所以上面第一种的实现方式就不讲了,主要讨论一下消息池功能是如何实现的。先来看一下消息池功能的模型囯通知通常属于系统基础功能,产品经理基本上不会去关注,也就不会去统一规划这个功能,技术就自己随意发挥了^_^

1.2 消息池

通过将所有消息先收集到一个消息池(如Mysql、Redis、Kafka等)中,然后再统一通过系统调度将消息发送给接收人。

  • 优点:功能模块化,可以做到统一管理,代码的调用可以更简洁,后期维护成本可以降到最低。
  • 缺点:消息会有延迟,消息池它是一个异步发送方式,消息的生产和发送是两个相互独立的过程;需要开发配置内容页面,开发量稍微大一点,但是后期能减轻更多的维护成本,我认为是非常值得的。

02 消息池模型

系统规划的目的就是让功能结构清晰,后期维护更轻松,所以上面第一种的实现方式就不讲了,主要讨论一下消息池功能是如何实现的。先来看一下消息池功能的

回帖
  • 消灭零回复
[打开调试信息]