MQ的应用场景是什么?MQ有什么用,听听45岁程序员怎么说

MQ的应用场景是什么?MQ有什么用?

我们的网站系统的构建,一般都需要有登录注册操作,在用户注册之后,需要给用户发送邮件和短信,传统形式的做法是串行的线程来做,我注册登录的时候同时进行发送短信和发送邮件操作。

 

就是用户信息写入数据库成功之后,再去发送短信,短信发送成功之后,再去发送邮件,邮件发送成功之后,才会去告诉用户,您已经注册成功了,这样把通知的操作和必须的业务操作就耦合在一起了,没有必要用串行的方式让客户去等待,这样对性能来说也不友好。

如果我们采用并行的方式,即三个操作并行的实现,我们需要开启三个线程分别去处理,这样做虽然实现了速度上的优化,但是不符合高吞吐,高并发的架构设计。

想要网站进一步提高效率,我们可以引入消息队列 MQ

我们知道MQ是一种先进先出的数据结构,能够发布订阅,实现持久化和分布式的操作。它可以实现我们在架构曾的应用解耦,限流,异步处,理流量削峰

在电商系统设计的时候,有的时候遇到高峰期的时候,比如说618和双十一,用户下订单的时候,要通知库存系统,传统的做法是订单系统调用库存系统,当库存系统出现故障时候,订单系统也会遇到失败,这时候两个业务系统的耦合度非常非常的高。

当库存系统处理不过来,可能会损失大量的订单,这个时候我们可以引入消息队列当用户下订单的时候,只需要在消息队列中写入一个消息,订阅下单,实现订单系统和库存系统的解耦。

引入MQ也会使得流量削峰,如果在电商网站里,做一些秒杀活动一般流量是很大的,引入消息队列,大量的请求会存在 MQ 里,减轻当前的流量。所有的请求进入消息队列,在进入秒杀,超过一定的阈值,有的请求直接丢弃。

Guess you like

Origin blog.csdn.net/ChaITSimpleLove/article/details/117488654