`

RabbitMQ Exchange 模式 - topic

 
阅读更多
任何发送到Topic Exchange的消息都会被转发到所有关心RouteKey中指定话题的Queue上

1. 这种模式需要RouteKey,要提前绑定Exchange与Queue

2. 如果Exchange没有发现能够与RouteKey匹配的Queue,则会抛弃此消息

3. 在进行绑定时,要提供一个该队列关心的主题,如“#.log.#”表示该队列关心所有涉及log的消息(一个RouteKey为”MQ.log.error”的消息会被转发到该队列)

4. “#”表示0个或若干个关键字,“*”表示一个关键字。如“log.*”能与“log.warn”匹配,无法与“log.warn.timeout”匹配;但是“log.#”能与上述两者匹配




参考:http://blog.csdn.net/csethcrm/article/details/51673050


例子:http://www.cnblogs.com/luxiaoxun/p/3918054.html

例子:http://blog.csdn.net/a491857321/article/details/50616323
分享到:
评论

相关推荐

    rabbitmq-server-generic-unix-3.6.1.tar

    了解RabbitMQ的基本概念,如Exchange(交换机)、Queue(队列)、Binding(绑定)以及不同工作模式(如Direct、Fanout、Topic、Header)是非常重要的。此外,熟悉RabbitMQ的管理和监控工具,如`rabbitmqctl`和Web...

    rabbitmq-server-3.6.15-1.el7.noarch.zip

    - **Topic Exchange**:允许模糊匹配路由键,更灵活的路由策略。 - **Header Exchange**:基于消息头中的特定键值进行路由,较少使用。 5. **消息确认与死信队列**: - **消息确认**:RabbitMQ支持消息确认机制...

    rabbitmq-server-generic-unix-2.7.0.tar.gz

    在实际应用中,开发者可以根据需求创建不同类型的交换机(如Direct、Fanout、Topic、Header),并通过绑定规则实现复杂的消息路由。此外,RabbitMQ还支持多种语言的客户端库,方便在各种应用程序中集成和使用。 ...

    rabbitmq-java-client-bin-3.3.4.zip

    - **消息确认**:RabbitMQ支持两种确认模式,一种是自动确认,另一种是手动确认。手动确认可以确保消息被正确处理后才从队列中删除。 - **线程安全**:在多线程环境中,正确管理和关闭资源,避免Channel和Connection...

    rabbitmq-server-windows-3.7.4

    - **工作模式**:RabbitMQ支持多种工作模式,如简单模式、发布/订阅模式、路由模式等,以适应不同的应用场景。 安全性: - **用户身份验证(Authentication)**:RabbitMQ支持多种身份验证机制,包括内置的用户...

    rabbitmq-server-3.6.6

    常见的Exchange类型有Direct、Fanout、Topic和Header。 3. **Queue**(队列):队列是RabbitMQ中存储消息的容器。消息被路由到队列后,等待消费者去消费。队列是持久化的,即使服务器重启,队列中的消息也不会丢失。 ...

    rabbitmq-server-3.8.2.rar

    在深入理解RabbitMQ的使用之前,需要了解其基本概念,如Exchange(交换器)、Queue(队列)、Binding(绑定)和Message(消息)。交换器负责根据预定义的规则(如Direct、Fanout、Topic或Header类型)将消息路由到...

    rabbitmq-server-3.8.5-window.zip

    不同的交换机类型(如direct、topic、headers、fanout)提供了不同类型的路由策略。 2. **队列(Queue)**:存储消息的地方,消费者从队列中获取消息。多个消费者可以连接到同一个队列,消息会被公平地分发给它们。...

    rabbitmq-server-windows-3.9.1.zip

    1. **Exchange**:交换器负责将消息路由到不同的队列,根据预定义的绑定规则(如Direct、Fanout、Topic、Header等)。 2. **Queue**:消息队列,实际存储消息的地方,多个消费者可以绑定到同一个队列,但消息只会被...

    rabbitmq-delayed-message-exchange-3.8.0.tar.gz

    通常,RabbitMQ提供了多种类型的交换机,如Direct、Fanout、Topic和Header。而"rabbitmq_delayed_message_exchange"是RabbitMQ的一个自定义交换机类型,它允许我们在发布消息时指定一个延迟时间。这个时间以毫秒为...

    rabbitmq-server-3.7.9.exe

    2. **交换机(Exchange)**:它负责根据预定义的路由规则将消息分发到相应的队列。有多种类型的交换机,如Direct、Fanout、Topic和Header等。 3. **队列(Queue)**:存储消息的容器,每个消息只能存在于一个队列中...

    rabbitmq-java-client-bin-3.3.4

    RabbitMQ支持同步和异步消费模式,可以根据应用需求选择合适的方式。 在“rabbitmq-java-client-bin-3.3.4”中,包含了JAR文件,如`amqp-client-3.3.4.jar`,这是实际使用的客户端库,开发者可以通过Maven或Gradle...

    rabbitmq-server-3.9.1 win64

    - **Topic**:基于通配符的路由模式,允许更灵活的消息分发。 - **Header**:基于消息头部属性的路由模式。 最后,为了确保数据持久化和高可用性,RabbitMQ支持镜像队列、集群和分布式事务等功能。通过合理配置,你...

    rabbitmq-server-3.8.1

    在描述中提到了"rabbitmq_delayed_message_exchange-3.8.0插件",这是RabbitMQ的一个特殊交换机类型,允许消息在特定时间延迟后才被投递到队列。这种插件对于实现定时任务或者延时处理场景非常有用,例如,你可以...

    rabbitmq-dotnet-client-3.5.0

    RabbitMQ提供了多种类型的交换机,如Direct、Fanout、Topic和Header,以满足不同场景的需求。 6. 模型与异常处理:使用`model.BasicAck(deliveryTag, false)`方法可以手动确认消息已被正确处理,否则RabbitMQ会重新...

    rabbitmq-java-client-3.4.1.zip

    在手动确认模式下,消费者必须显式地告诉RabbitMQ是否已处理消息,这可以通过`channel.basicAck()`或`channel.basicNack()`实现。 **线程安全**: 在多线程环境中,通常每个线程都应该有自己的`Channel`实例,因为`...

    rabbitmq-server-3.7.14.zip

    - **高可用性**:RabbitMQ 支持集群模式,可以创建多个节点,确保数据冗余和故障转移。 - **多协议支持**:除了 AMQP,还支持 STOMP、MQTT 和 others。 - **多种语言客户端**:提供了多种编程语言的 SDK,如 Java、...

    rabbitmq-server-3.10.1

    队列是无序的,且可以有多个消费者,但每个消息只会被一个消费者消费一次,除非配置为多播模式。队列的名字是唯一的,用于标识和路由消息。 **一、RabbitMQ组件** 1. **Broker**: RabbitMQ服务器本身,负责接收、...

    rabbitmq-server-3.6.5.rar

    在RabbitMQ 3.6.5中,用户可以使用多种Exchange类型,如Direct、Fanout、Topic和Header,以适应不同的消息路由需求。Direct Exchange是最简单的模式,消息按照精确匹配的路由键直接发送到Queue;Fanout则会将所有...

    rabbitmq-server3.10.5

    - **Exchange**: 交换器是RabbitMQ的核心组件,它根据预定义的路由规则将消息分发到不同的队列。 - **Queue**: 队列是存储消息的地方,消费者从队列中获取消息,队列是FIFO(先进先出)的。 - **Binding**: 绑定...

Global site tag (gtag.js) - Google Analytics