设计一个通知系统

设计的系统支持不同类型消息的发送,例如push消息,sms消息和邮箱消息,能够支持千万级别的发送,保证消息推送的幂等性。系统结构图如下:
在这里插入图片描述
系统架构图中各组件作用说明:
device/setting/user info:收集到的最终信息,比如可以通过app收集

ServiceN:需要发送通知的应用服务

message template: 将消息定义和消息发送解耦,实现业务上解耦;对消息进行统一管理,统一发送消息格式。

message log:记录已经发送的消息,发送消息幂等

third party:将消息发送到用户端的云服务,一般由对应终端巨头或者统一协议制定者维护

系统设计中需要注意的点:

1、需要对单个用户发送的消息进行限流,防止对用户在短时间发送消息,导致用户直接禁止接受消息(message log)

2、根据业务场景对消息发送进行幂等(message log)3、除了考虑通知系统的承载能力,进行水平扩展,更要考虑第三方服务有限流(mq),有失败重试机制(mq),保证通知最终能够触动到用户端

4、考虑通知触达状态的监控

5、客户端进行的设置,触达系统需要维护?比如设置了拒收,设置了拒收就不发送,可以通过thrid parth取尝试获取,如果可以精确获取到,存储一份可以避免无效信息的发送,减少第三方发送消息的费用。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个基本的Web评论系统需要以下几个组件: 1. 用户注册和登录功能:用户需要能够注册一个帐户并登录系统,以便他们可以发表评论和回复其他用户的评论。 2. 评论和回复功能:用户需要能够发表评论,并且其他用户需要能够回复这些评论。每个评论应该包括评论者的姓名、时间戳、评论正文和任何相关的图片或链接。 3. 管理员功能:系统管理员需要能够批准或删除评论,以确保评论内容是合适的。 4. 分页和排序功能:如果网站有很多评论,将它们全部显示在一个页面上可能会使页面加载缓慢。因此,用户需要能够通过分页或滚动加载的方式查看评论。还需要一种排序功能,以便用户可以按时间、评分或其他因素对评论进行排序。 5. 评分系统:用户可以对其他用户的评论进行评分,以表示他们对该评论的认同程度。这可以帮助其他用户更快地找到有价值的评论。 6. 防垃圾评论功能:为了防止垃圾评论和滥用,系统需要有一些策略,例如自动过滤敏感词汇、限制每个用户的评论数或强制进行人机验证。 7. 通知功能:用户需要能够收到有关其评论或回复的通知,以便他们可以及时回复或采取其他行动。 8. 数据库:系统需要一个数据库来存储所有评论和相关数据。 以上是一个基本的Web评论系统的主要组件,实现的难度和功能的复杂度取决于实际需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值