1.简单模式-默认交换机
生产者和消费者都只需要建立连接conn和chanel连接队列就可以,不需要使用交换机
1.生产者绑定队列
2.消费者绑定队列
2.work模式
和简单模式差不多,只需要开两个一模一样的消费者就行。通过轮询的方式,每个消息只发给一个消费者
1.生产者连接队列
2.消费者1连接队列
3.消费者2连接队列
3.订阅模式-fanout
生产者连接交换机,由交换机根据不同的模式和匹配规则(这里的交换机类型选择为fanout,会将消息发送到所有绑定的队列中)将消息转发到不同的队列,不同的消费者绑定不同的队列。
1.生产者绑定交换机
2.交换机绑定队列1
3.交换机绑定队列2
4.消费者1绑定队列1
5.消费者2绑定队列2
4.路由模式-routin
Routin路由模式要求队列绑定交换机的时候要指定routing key,消息会转发到符合routing key的队列。
1.生产者绑定交换机
2.队列1绑定交换机并指定routing key1
3.队列2绑定交换机并指定routing key1
4.队列2板顶交换机并指定routing key2
5.消费者1绑定队列1
6.消费者2绑定队列2
此时发送携带routing key1的消息给交换机,消费者1、2都可以收到消息,发送携带routing key2的消息,只有消费者2会收到消息。
5.通配符模式-topic
通配符模式,每个队列绑定路由的使用声明一个通配符,*代表一个单词,#代表0个或多个单词,交换机接收到消息后会将消息转发到匹配的队列。
#.aaa.bbb可以匹配:aaa.bbb、qwe.aaa.bbb、qwe.asd.aaa.bbb
*.aaa.bbb可以匹配:qwe.aaa.bbb、asd.aaa.bbb
和上面4.路由模式步骤一样,将routing key换位通配符。
6.RPC
不算是一种模式,也基本不用,不做介绍