网站内容更新提醒软件下载(网易云音乐的站内通知消息优先级的概念是什么? )

优采云 发布时间: 2021-10-20 17:01

  网站内容更新提醒软件下载(网易云音乐的站内通知消息优先级的概念是什么?

)

  这几乎可以用作面试问题。

  写这篇文章的原因是我最近在公司开发了一个平台内消息系统,思考了很多内容。

  最精致的通讯系统是QQ、微信等即时通讯软件,因为这个软件的核心是通讯系统。我这里说的消息系统不需要微信的实时性,也没有Wha​​tsApp的端到端的要求。它被定位为一个“平台内”的“消息”系统,所以大部分时间处理系统通知、管理员公告等消息,或者私信。

  这种消息系统在我们的生活中也很常见,大部分应用软件的通知栏都属于这一类。关于消息的特点,我主要关注以下几个方面:

  如前所述,有多种类型的消息。在网易云音乐软件中,消息包括“@我”、“私信”、“评论”和“通知”四种。消息的主要类型是业务决策。我们在设计通用消息系统时,不妨假设我们的消息类型包括:公告、系统通知、告警等(这个定义主要是因为我在开发一个通用的运维平台)。

  

  网易云音乐站内通知

  消息优先的概念也需要我们考虑。为什么?成本。很多人用过知乎和京东。当我使用这些网站时,我会发现有些消息会通过网站上的系统推送给我,有些消息会通过电子邮件发送给我。还有一些消息,会通过短信发给我。不同的推送方式当然可以绑定消息的分类,但本质上推送方式的不同是因为不同消息的优先级不同。为什么平台不对任何消息使用最嘈杂的推送方式(站点+电子邮件+短信)?一方面是成本方面的考虑,另一方面实际上是保持了用户对消息的敏感度。前者可以参考京东的短信通知。京东不会对所有消息都使用短信,它也不会向所有人发送短信。它需要评估收件人的转换概率。后者可参考公司内部报*敏*感*词*务。如果将INFO和ERROR告警用短信轰炸给业务开发者,势必会降低业务开发者接收短信的敏感度,甚至成为习惯。忽略,这是不值得的。因此,在设计消息系统时,需要考虑消息优先级的问题。甚至成为习惯。忽略,这是不值得的。因此,在设计消息系统时,需要考虑消息优先级的问题。甚至成为习惯。忽略,这是不值得的。因此,在设计消息系统时,需要考虑消息优先级的问题。

  最简单的消息格式类似于短消息,是纯文本。以后可能是title+body的形式。后面如果觉得body需要格式化,就考虑支持富文本,再考虑带图片、音频、视频、文件等附件的消息……格式优化几乎是个无底洞,没有最好,只有更好。

  编辑模式的内容格式只是部分格式,内容格式的另一部分在显示端。最粗鲁的显示格式可能是用户*敏*感*词*消息时自动弹窗显示——这当然是用户无法使用的。后来,有一个铃声按钮。有新消息时,右上角会显示一个红点,多条消息时甚至会显示一个数字。当里面有新消息时,许多移动应用程序会对图标进行类似的处理。例如,应用商店会用角标显示要更新的软件数量。微信会用角标显示新消息的数量。对于平台内的消息,例如前面提到的网易云音乐,您可以点击消息按钮,并且会弹出带有多种类型消息列表的导航。还有文章,你可以看到每个类型的消息,你会发现格式化文本的模板有差异。

  

  macOS 下 Foxmail 通知角标签

  主要涉及广播后消息的撤回、聚合等操作。用户可能出于各种原因需要撤回广播消息。这是一个非常普遍的要求。此外,对于用户来说,通常希望能够聚合相同资源的类似通知。例如,对于某项P的修改,A修改后,系统会自动向组内用户发送通知:A修改了P项,但如果B修改了P项,如果组内用户收到另一个通知,当B修改item P时,用户会收到垃圾邮件,所以需要汇总为:A和B修改item P。在实践中,这可能不是真的,但这是一种需求。知乎 类似下图的注意将多个文章的更新列合并为一个消息。此次合并还包括相同的答案和新的批准、评论和其他通知。

  

  知乎的通知方式

  消息的广播应支持三种模式:从所有成员广播到特定组广播到特定人员广播。这可以与计算机网络的广播模式进行比较。

  对于消息接收方,应允许用户设置对不同类型、优先级和来源的消息的拦截。下图是知乎的消息拦截设置。

  

  知乎消息拦截设置页面

  以上就是从产品的角度来规划消息系统的细节,接下来介绍一下技术方案。

  消息的存储一般可以使用mysql等通用关系型数据库。如果需要推送邮件和短信服务,则需要使用rabbitmq来支持发布/订阅流程。

  数据库模型主要分为:

  用户行为主要包括:

  基本上到这里,下一步就是代码了。本文最后给出了发布消息的架构图。接收消息的逻辑比较简单,就不展开了:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线