3、为什么需要消息队列(重要、了解)
消息系统的核心作用就是三点:解耦,异步和并行
以用户注册的案列来说明消息系统的作用
3.1、用户注册的一般流程
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8a453620b21bce125233a01228ec0357.jpeg)
问题:随着后端流程越来越多,每步流程都需要额外的耗费很多时间,从而会导致用户更长的等待延迟。
3.2、用户注册的并行执行
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/316d893c8a62f8b0b0274efd52f8de1c.jpeg)
问题:系统并行的发起了4个请求,4个请求中,如果某一个环节执行1分钟,其他环节再快,用户也需要等待1分钟。如果其中一个环节异常之后,整个服务挂掉了。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2410585177d0774381bf4b5724dc303b.png)
3.3、用户注册的最终一致
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4236d3df61c9639f957af3b2fbba916d.jpeg)
1、 保证主流程的正常执行、执行成功之后,发送MQ消息出去。
2、 需要这个destination的其他系统通过消费数据再执行,最终一致。