MQ全称:Message Queue(消息队列),是在消息的传输过程中保存消息的容器,多用于分布式系统之间进行通信
- MQ消息队列,存储消息的中间件
- 分布式系统通信的俩种方式:直接远程调用和借助第三方完成间接通信
- 发送方称为生产者,接受方称为消费者
MQ的优劣
- 优:
- 应用解耦
- 提高系统容错性
- 异步提速
- 提升用户体验和系统吞吐量
- 削峰填谷
- 提高系统稳定性
- 应用解耦
- 劣:
- 系统可用性降低:系统引入的外部依赖过多
- 系统复杂度提高:
- 一致性处理问题:
使用MQ的条件:
- 生产者不需要从消费者获取反馈。引入消息队列前的直接调用,其接口应反为空
- 容许短暂的不一致性
- 确实是用了有效果的
RabbitMQ简介
AMQP:(advanced message queuing protocol) ,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息并不受客户端/中间件不同产品、不同开发语言等条件的限制。