通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。 这里的“需要得到”有两层意思: 1、用户彼此互动触发的信息流(留言、评论或者回复、私信等) 2、网站希望用户了解关注的信息(系统公告等) 通知系统设计的原则可简单的归纳为: 1、消息传播效率最高(获取、处理、信...
防止数据丢失 — 通知系统中最重要的非功能性要求之一是不能丢失数据。通知可能会延迟或重新排序,但不应该丢失。为了满足此要求,通知系统将通知数据持久保存在另一个日志表中,并实施重试机制。 接收一条通知确切地一次吗? —不,不可以。根据第三方服务提供商的SLA,尽管通知大多数时候确切地传递一次,但分布式性质可能...
建立灵活的通知模型滥发通知会给产品带来很多负面影响,所以设计要仔细考虑产品的交互和目标,只发送必要的消息。消息通知可分为三个级别:高关注度、中关注度和低关注度。高关注度:警告型(需要立即注意)错误型(需要立即采取措施)异常型(系统异常,某些功能无效等)确认型(需要用户确认才能继续进行的操作)中关注...
低层设计 步骤1:生成通知请求 调用方(如电商平台)生成包含必要信息的通知请求。例如:{ "requestId": "xyz789", "timestamp": "2024-12-01T08:30:00Z", "notificationType": "alert", "channels": ["email", "push"], "recipient": { "userId": "user456", "email": "user456@example....
通知系统设计的原则可简单的归纳为: 1、消息传播效率最高(获取、处理、信息传达、用户反馈等效率) 2、避免产生骚扰(噪音、频繁提示) 二、通知分类 不用的平台和产品本身由于对业务的需求不一样,种类也是有区别的。 大致可分为以下几种: noticekind.png ...
首先,我们需要找出一个支持各种通知类型的高级设计:短信、电子邮件、iOS推送通知、Android推送通知和Slack应用通知。 然后,系统应该以以下组件结构化: 不同通知类型的配置 收集联系信息流 通知发送和接收流 4 不同通知类型的高级设计与AWS 每种通知类型在高级层面上的工作原理。
通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。 这里的“需要得到”有两层意思: 1、用户彼此互动触发的信息流(留言、评论或者回复、私信等) 2、网站希望用户了解关注的信息(系统公告等) 通知系统设计的原则可简单的归纳为: 1、消息传播效率最高(获取、处理、信...
整体设计 用户获取新的消息通知有两种模式 上线登录后向系统主动索取 在线时系统向接收者主动推送新消息 设想下,用户的通知消息和新通知提醒数据都放在数据库中,数据库的读写操作频繁。如果消息量大,DB压力较大,可能出现数据瓶颈。 这边按照上述两种模式,拆分下设计: ...
通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。 这里的“需要得到”有两层意思: 1、用户彼此互动触发的信息流(留言、评论或者回复、私信等) 2、网站希望用户了解关注的信息(系统公告等) 通知系统设计的原则可简单的归纳为: 1、消息传播效率***(获取、处理、信...
通知设置 包括 用户id,推送的类型,是否选择接收通知等。 需要先检查用户是否打开了推送通知的设置,再决定是否进行推送。 通知的发送记录 如果是要求推送一定要成功的,可以用数据表写入推送的通知记录。 包括: push服务商的消息id 、状态 、类型、通知是否发送成功、失败的次数、推送时间、通知的json字符串 。