rabbitmq的应用场景
1.异步处理
场景说明:用户注册后,需要发注册邮件和注册短信,
传统的做法有两种 1.串行的方式,注册信息入库,发送邮件,发送短信,返回注册成功提示。 2.并行的方式,注册信息入库,发送短信和邮件同时执行,返回注册成功提示。
不管是串行还是并行,邮件, 短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西.
MQ异步处理大大节省时间,将信息放到mq中就返回注册成功提示,发短信和邮件交给mq异步处理
2.应用解耦
场景:双11,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口.
当库存系统出现故障时,订单就会失败。 订单系统和库存系统高耦合
MQ引入后,用户下单后,将消息发送到mq,库存服务从mq订阅消息,就算库存系统故障,消息队列也能保证消息的可靠投递,轻松解耦
3.流量削峰
场景: 秒杀活动,一般会因为流量过大,导致应用挂掉
MQ引入后,控制活动人数,超过此一定阀值的订单直接丢弃(提示秒杀失败或者跳转页面等)
还没有评论,来说两句吧...