RabbitMQ整体框架
生产者通过Channel将消息发送到Exchange,然后由交换机分发到对应的队列
消费者通过Channel监听某个队列
本文通过0代码方式了解RabbitMQ如何进行收发消息
1.创建一个虚拟主机
新建名字为【test】的虚拟主机,其他配置默认。创建完成后,可以看到在交换机页面,系统自动创建了7个【test】虚拟机下的交换机。
2.新建两个测试用的交换机
新建两个交换机,分别为:test.exchange1和test.exchange2,交换机的属性{Virtual host: test ,Type: topic,Durability: Durable,Auto delete: NO,Auto delete: NO}
3.新建两个测试用的队列
新建两个队列,分别为:test.queue1和test.queue2,队列的属性{Virtual host: test ,Type: Default for Virtual host,Durability: Durable}
4.将交换机与队列进行绑定
将交换机与队列进行一一绑定,绑定关系如下{Virtual host: test}-{Exchange: test.exchange1}-{Queue: test.queue1} 和{Virtual host: test}-{Exchange: test.exchange2}-{Queue: test.queue2}。
5.验证消息收发
- 首先打开测试工具,连接MQ,通过工具往test.exchange1交换机发送一条消息【这是一条测试的消息】,通过MQ管理器可以看到test.queue1队列有一条没有被消费的消息,消息正是刚刚发送的。
- 通过MQ管理器往test.exchange2增加一条消息,可以看到test.queue2出现了一条未被消费的消息,打开工具,开始监听test.queue2队列看是否可以消费掉。
- 打开两个管理工具呢?一个往test.exchange1交换机发送消息,监听test.queue2队列,另一个往test.exchange2发送消息,监听test.queue1队列,是否可以及时收到相互发送的消息呢?答案是可以,完美
- 打开两个管理工具后,可以看到会出现两个connection和两个channel
MQ客户端管理工具下载地址:MrJeanGao/MyRabbitMQ_Client: 创建一个RabbitMQ收发客户端 (github.com)