MQ(消息队列)
MQ:MessageQueue,消息队列
队列,是⼀种FIFO 先进先出的数据结构,消息则是跨进程传递的数据
⼀个典型的MQ系统,会将消息消息由生产者发送到MQ进行排队,然后根据一定的顺序交由消息的消费者进行处理
作用主要包括
-
异步
可以提高系统的响应速度、吞吐量
-
解耦
服务之间进行解耦,才可以减少服务之间的影响,提高系统整体的稳定性以及可扩展性
另外,解耦后可以实现数据分发。生产者发送一个消息后,可以由一个或者多个消费者进行消费,并且消费者的增加或者减少对生产者没有影响
-
削峰
在流量冲击比较大的场景时,前端大量请求发送可以在MQ中存起来,而下游的消费者按照自己的速度稳定从队列里获取任务执行,避免后端服务被大流量冲垮的情况
