rabbit MQ 常用模式
1.简单模式
一个生产者,一个消费者,不需要设置交换机(使用默认的交换机)
2.工作队列
一个生产者,多个消费者,不需要设置交换机(使用默认的交换机)
3.发布订阅模式
一个生产者,多个消费者,需要设置交换机的类型为fanout,并且交换机和队列进行绑定,当发发送消息到交换机后,交换机会将信息发送到绑定的队列
4.路由模式
一个生产者,多个消费者,需要设置交换机的类型为direct,并且交换机和队列进行绑定,并且指定routing key 当发发送消息到交换机后,交换机会根据routing key将信息发送到绑定的队列
5.速配符模式
一个生产者,多个消费者,需要设置交换机的类型为topic,并且交换机和队列进行绑定,并且指定routing key 当发发送消息到交换机后,交换机会根据routing key将信息发送到绑定的队列
rabbit mq运行流程
简单与工作对模式
生产者发送消息
1.生产者创建连接(connection),开启一个信道/频道(channel),连接到rabbitMQ Broker
2.声明队列并设置属性,如是否排它,是否持久化,是否自动删除
3.将路由键(空字符串)与队列绑定起来
4.发送消息至rabbitMQ Broker
5.关闭信道/频道
6.关闭连接
消费者接收消息
1.消费者创建连接(connection),并开启一个信道/频道(channel),连接到rabbitMQ Broker
2.向Broker请求消费相应队列中的消息,设置相应的回调函数
3.等待Broker回应闭关投递相应队列中的消息,消费者接受消息
4.确认(ack,自动确认)接收到的消息
5.rabbitMQ从队列中删除相应已经被确认的消息
6.关闭信道/频道
7.关闭连接
发布订阅/路由/通配符模式
以下讲的是关于路由的模式,其他两个都相似,就是没有一个路由key
生产者
1.生产者创建连接(connection),开启一个信道/频道(channel)
2.声明交换机将交换机属性设置为direct
2.声明队列并设置属性,如是否排它,是否持久化,是否自动删除
3.将路由键与队列绑定起来,并制定路由 key
4.发送消息前要制定basicPublish中交换机的名字,路由key
5.发送消息
5.关闭信道/频道
6.关闭连接
消费者
1.生产者创建连接(connection),开启一个信道/频道(channel)
2.声明交换机将交换机属性设置为direct
2.声明队列并设置属性,如是否排它,是否持久化,是否自动删除
3.队列绑定交换机,并绑定路由key,不绑定路由key将拿不到信息
4.创建消费者并设置消息处理
5.监听消息,basiccConsume要指定交换机的名字