消息的三种发送方式
同步发送-SYNC
应用场景:重要的通知邮件、短信等
异步发送-ASYNC
对RT时间敏感,回调成功可以出发相应的业务
应用场景:新用户注册成功之后,通知积分系统奖励积分、优惠券等业务
ONE WAY-单向发送
不需要等待服务器相应,只知道发送请求
适用于耗时短、可用性要求不高的场景
应用场景:日志收集
发送方式 | 发送的TPS | 发送结果是否反馈 | 可用性如何 |
---|---|---|---|
同步发送 | 快 | 有 | 不丢失消息 |
异步发送 | 快 | 有 | 不丢失消息 |
ONEWAY | 最快 | 没有 | 可能丢失消息 |
延时消息
含义:生产者向消费者发送消息,不希望立刻投递,而是想要再当前时间后某一个时间投递给消费者进行消费。
场景一:
通过消息出发一些定时任务
例如在某个固定的时间出发送提醒消息
生日提醒、比赛直播订阅消息等
场景二:
对于消息的生产和消费方有时间窗口的限制
订单超时未支付,进行关闭
创建订单时发送一条延时消息,这条消息在30分粥之后发送给消费者,
消费者收到消息后判断订单是否完成支付。未完成则关闭订单;完成则忽略。