rabbitmq的六种模式:简单模式;主题模式(topic);订阅与发布模式(fanout);路由模式(direct);RPC模式;工作队列。

rabbitmq的六种模式rabbitmq的六种模式

1、简单模式

生产者,一个队列一个或多个消费者,当多个消费者同时监听一个队列时,他们并不能同时消费一条消息,而是随机消费消息,即一个队列中一条消息,只能被一个消费者消费。

2、主题模式(topic)

生产者,一个交换机(topicExchange),模糊匹配路由规则,多个队列,多个消费者。

3、订阅与发布模式(fanout)

生产者,一个交换机(fanoutExchange),没有路由规则,多个队列,多个消费者。生产者将消息不是直接发送到队列,而是发送到X交换机,然后由交换机发送给两个队列,两个消费者各自监听一个队列,来消费消息。

4、路由模式(direct)

生产者,一个交换机(directExchange),路由规则,多个队列,多个消费者。主要根据定义的路由规则决定消息往哪个队列发送。

5、RPC模式

对于RPC请求,客户端发送一条带有两个属性的消息:replyTo,设置为仅为请求创建的匿名独占队列,和correlationId,设置为每个请求的唯一id值。请求被发送到rpc_queue队列。RPC工作进程在队列上等待请求。当一个请求出现时,它执行任务,并使用replyTo字段中的队列将结果发回客户机。客户机在回应消息队列上等待数据。当消息出现时,它检查correlationId属性。如果匹配请求中的值,则向程序返回该响应数据。

6、工作队列

注释:默认情况下,RabbitMQ将按顺序将每条消息发送给下一个消费者。平均而言,每个消费者将获得相同数量的消息。这种分发消息的方式称为循环法。与三个或更多工人一起尝试。