1. RabbitMQ安装
安装参考: https://www.rabbitmq.com/download.html
a. 默认是C:/Program Files/....,这个目录中是存在空格符的,注意需要改变安装目录 b.RabbitMQ 与ERLANG 版本要保持一致
2.原理

RabbitMQ提供了6种消息模型

参考 https://www.rabbitmq.com/getstarted.html
2.1 基本消息模型
一对一只有一个消费者,起到一个缓冲作用。
2.2 工作队列

有多个消息者,但消费者消费消息的多少,完全取决于消费者的处理能力,能者多劳,相当于消费者主动从mq中取消息,而不是被mq安排消息,能消费者是公平的。 消费端消费数据时,会有一个确认消费完成的动作,mq收到消费完成的通知后,才会继续向该消费者发送消息 。
2.3 发布订阅模式

RabbitMQ 中有一个交换机Exchanges的概念,发布订阅就是通过交换机实现的。生产端先把消息发送到交换机,然后交换机再把消息发送到与其绑定的消息队列,这样就解决了生成端如何把一条消息批量发送到多个消息队列的问题。
2.4 routing路由模式

路由模式较发布订阅模式,交换机直接向所有与之绑定的消息队列发送消息,而路由模式对交换机做了一些限制,它指定了一个route key,生产端向交换机发送消息时,指定消息的route key,消费端将消息队列绑定到交换机时,也指定该队列消费的route key,这样一来,交换机就可以根据消息的route key,将该消息转发到绑定(消费)该route key的消息队列。
2.5 主题模式

主题模式和路由模式完全一样,只不过是消费端route key不用写死,增加了一个模糊匹配的功能,这样在某些场景下,消费端就不用逐一绑定所有监听的route key,直接用抽象的通配符表示即可,当然,这是针对消费端的优化,与生产端无关。
来源:oschina
链接:https://my.oschina.net/pengchanghua/blog/4257300