一、消息队列----应用场景
场景名称 |
场景描述 |
传统做法 |
消息队列做法 |
异步处理 |
用户注册后,需要发注册邮件和注册短信 |
1.串行的方式: 信息写入数据库50ms + 发送注册短信50ms + 发送注册邮件50ms =》 150ms 2.并行方式: 信息写入数据库50ms +【发送注册邮件的同时,发送注册短信】50ms=》100ms |
信息写入数据库50ms + 【注册邮件,发送短信写入消息队列】0.0001ms =>50ms 注:因此写入消息队列的速度很快,基本可以忽略; 中心思想:引入消息队列,将不是必须的业务逻辑,异步处理; |
应用解耦 |
用户下单后,订单系统需要通知库存系统 |
|
|
流量削峰 |
秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉; |
用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量, 则直接抛弃用户请求或跳转到错误页面 |
|
日志处理 |
将消息队列用在日志处理中; (我一般关注把日志记录下来,不怎么关注日志后续的处理,所以这个用的不多) |