RabbitMQ | 交换器类型

exchange常见类型有3种,分别如下

  1. “fanout”

    将发送到该交换器的消息路由到所有与该交换器绑定的队列中。

  2. ”direct“

    将发送到该交换器的消息路由到那些BindingKey和RoutingKey完全匹配的队列中

  3. “topic”

    与“direct”类型交换器相似,将消息路由到BindingKey和RoutingKey相匹配的队列中,但在匹配规则上有不同

    RountingKey 和BindingKey 为一个点号“.”分隔的字符串,被分隔的字符串可称为单词,例如:log.warning、log.debug、log.info

    BindingKey中可以存在两种特殊的字符”*“与”#“,用来做模糊匹配,” * “:匹配一个单词,”#“:匹配多规格单词

原文地址:https://www.cnblogs.com/jj81/p/11529902.html

时间: 2024-08-30 16:03:23

RabbitMQ | 交换器类型的相关文章

php amqp 消息队列 RabbitMQ 交换器类型 直连 (三)

1.AMQP_EX_TYPE_DIRECT:直连型 直连型又包括: 1对1 和1对N(N对1. N对N) 接收端receive.php代码如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!--?php $connect =newAMQPConnection(); $connect--->connect(); $channel =newAMQPChannel($connect); $

RabbitMQ 交换器、持久化

一. 交换器 RabbitMQ交换器(Exchange)分为四种 direct fanout topic headers direct  默认的交换器类型,由路由键匹配,消息就投递到相应的队列 fanout 一种发布/订阅模式的交换器,发布一条消息时,fanout把消息广播到附加到fanout交换器的队列上 topic topic类似于fanout交换器,但更加具体化,用routingKey进行规则匹配,更灵活的匹配出用户想要接收的消息 routingKey形如:com.company.modu

RabbitMQ Exchange类型详解

前言 在上一篇文章中,我们知道了RabbitMQ的消息流程如下: 但在具体的使用中,我们还需知道exchange的类型,因为不同的类型对应不同的队列和路由规则. 在rabbitmq中,exchange有4个类型:direct,topic,fanout,header. direct exchange 此类型的exchange路由规则很简单: exchange在和queue进行binding时会设置routingkey channel.QueueBind(queue: "create_pdf_que

rabbitmq 交换机类型

图:Direct 图:Fanout 图:Topic

RabbitMQ入门(四) —— topic交换器

今天我们来学习最后一个交换器类型:topic.direct是放到exchange绑定的一个queue里,fanout是放到exchange绑定的所有queue里.那有没有放到exchange绑定的一部分queue里,或者多个routing key可以路由到一个queue里呢,那就要用到topic类型的exchange. 我们先来看看多个routing key如何路由到一个queue里.假设我们有三个系统,在出错的时候会写日志,并会把日志发送到RabbitMQ,路由键为:系统名.error.在Ra

RabbitMQ之Topic交换器模式下开发

Topic交换器,即主题模式,进行规则匹配. 一.Provider 配置文件 1 spring.application.name=provider 2 spring.rabbitmq.host=192.168.50.30 3 spring.rabbitmq.port=5672 4 spring.rabbitmq.username=rabbit 5 spring.rabbitmq.password=rabbit 6 #设置交换器名称 7 mq.config.exchange=log.topic 代

RabbitMQ之Fanout交换器模式开发

Fanout模式,即广播模式,一个发送到交换机的消息会被转发到与该交换机绑定的所有队列上. 一.Provider 配置文件 1 spring.application.name=provider 2 spring.rabbitmq.host=192.168.50.30 3 spring.rabbitmq.port=5672 4 spring.rabbitmq.username=rabbit 5 spring.rabbitmq.password=rabbit 6 #设置交换器的名称 7 mq.con

RabbitMQ简介与使用

RabbitMQ简介与使用 2013年3月23日  小白  学习笔记 1. AMQP简介 在了解RabbitMQ之前,首先要了解AMQP协议.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计. 当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本.AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与

【转】RabbitMQ基础——和——持久化机制

这里原来有一句话,触犯啦天条,被阉割!!!! 首先不去讨论我的日志组件怎么样.因为有些日志需要走网络,有的又不需要走网路,也是有性能与业务场景的多般变化在其中,就把他抛开,我们只谈消息RabbitMQ. 那么什么是RabbitMQ,它是用来解决什么问题的,性能如何,又怎么用?我会在下面一一阐述,如有错误,不到之处,还望大家不吝赐教. RabbitMQ简介 必须一提的是rabbitmq是由LShift提供的一个消息队列协议(AMQP)的开源实现,由以高性能.健壮以及可伸缩性出名的Erlang写成(