通知/警报服务设计全面解析
1. 通知服务功能概述
通知服务在现代系统中扮演着至关重要的角色,它能够为用户提供及时、准确的信息。不过,虽然通知服务可以自动识别和复制通知请求,但由于用户对重复请求的定义可能与服务不同,所以我们不能完全依赖这一实现。
用户在使用通知服务时,通常会有以下操作需求:
- 配置与模板管理 :用户会存储大量的通知配置和模板,并且能够通过名称、描述等字段查找配置或模板,还可以保存喜欢的通知。
- 通知状态查询 :用户可以查看通知的状态,如已安排、进行中(类似于发件箱中的邮件)或失败。若通知发送失败,用户能了解是否安排了重试以及重试次数。
- 优先级设置(可选) :用户可以设置通知的优先级,系统会优先处理高优先级的通知,或者采用加权方法避免低优先级通知被饿死。
2. 非功能需求分析
在设计通知服务时,需要考虑以下非功能需求:
| 需求类型 | 具体要求 |
| ---- | ---- |
| 扩展性 | 每天能够发送数十亿条通知,按每条通知 1MB 计算,每天需处理和发送 PB 级数据,可能有数千个发送者和 10 亿个接收者。 |
| 性能 | 通知应在数秒内送达。为提高关键通知的发送速度,可允许用户设置某些通知的优先级。 |
| 高可用性 | 实现 5 个 9 的正常运行时间。 |
| 容错性 | 若接收者无法接收通知,应在下次有机会时接收。 |
| 安全性 | 仅授权用户可以发送通知。 |
| 隐私性 | 接收者应
超级会员免费看
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



