MQ的架构作用

1. 消息队列的作用

消息中间件是日常架构中比较流行的一个中间件。

常用的产品有: ActiveMQ, RabbitMQ, RocketMQ, ZeroMQ等。

那么消息中间件在架构中有哪些作用呢?

总结一下,主要作用如下:

   异步处理、应用解耦、流量削峰、日志处理

 

2. 架构作用详解

a. 异步处理

问题背景:

一个用户登陆网址注册,然后系统发短信跟邮件告知注册成功。

解决方案:

1. 串行

  依次执行,问题是用户注册后就可以使用了,没必要等验证码跟邮件。

2. 并行
 注册成功后,邮件跟验证码用并行等方式执行,问题是邮件跟验证码是非重要的任务,系统注册还要等这俩完成么?

3. 异步
 基于异步MQ的处理,用户注册成功后直接把信息异步发送到MQ中,然后邮件系统跟验证码系统主动去拉取数据。

 

3种解决方案图解: 

 

 

b. 应用解耦

问题背景:

我们有一个订单系统,还要一个库存系统,用户下订单了就要调用下库存系统来处理,直接调用到话库存系统出现问题咋办呢?

 

解决方案:

利用MQ来解耦

解决方案图解: 

 

  

c. 流量削峰

问题背景:
秒杀活动
服务层直接接受瞬间搞密度访问绝对不可以

解决方案:
利用MQ进行流量削峰

解决方案图解:

 

 

d. 日志处理 

问题背景:

用户或机器日志收集

解决方案图解:

 

 

posted @ 2021-03-04 11:42  Master HaKu  阅读(318)  评论(0编辑  收藏  举报