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