在系统中使用消息队列MQ,主要可以有“解耦合”、“异步”、“削峰”。
-
解耦合
如果一个系统要给多个系统发数据。那么接受者可能会变化,如减去A系统,加上B系统,这样发送端就要不时更改代码。这时候如果把发送数据的请求发到消息队列里,需要接收的系统自行订阅消息队列,那么这几个系统之间的耦合就解开了。 -
异步
如果一个网站的请求需要在后台做很长时间的操作,那么对用户的体验也是非常不好的,前端会阻塞掉。这时候使用消息队列就可以异步操作,直接返回给用户提示,然后后台再处理消息。 -
削峰
主要是指流量高峰时,系统处理量达不到这么多请求,有可能会崩溃。这时候有消息队列,可以限流。