转自:https://blog.csdn.net/u013871100/column/info/27053
1、用途:
1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!
2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度
3.削峰,并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常
1、业务模块解耦以及异步通信。(如:采用 RabbitMQ 实战异步写日志与异步发邮件。)
https://blog.csdn.net/u013871100/article/details/82982235
2、使用消息队列需要注意的几个关键问题
1、使用消息队列需要注意的几个关键问题
- 消息的顺序问题
- 消息的重复问题
- 事务消息
https://blog.csdn.net/u012422829/article/details/70248286
RocketMQ如何保证消息的顺序、不重复、事务:
http://www.360doc.com/content/18/0306/17/16915_734787028.shtml
3、RabbitMQ如何保证消息顺序
https://www.jianshu.com/p/b100126a2bf3
4、RabbitMQ如何保证消息不重复
4.1顺序消费RabbitMQ的消息:
https://blog.csdn.net/qq_40543961/article/details/80800128
5、RabbitMQ如何保证消息事务
6、RabbitMQ 消息顺序、消息幂等、消息重复、消息事务、集群
https://www.jianshu.com/p/5ade5bf0dcd9
7、RabbitMQ 如何确保消息发送和消费?
https://blog.csdn.net/wangming520liwei/article/details/79523130