zoukankan      html  css  js  c++  java
  • rabbitmq不同模式的交换机使用

    交换机的功能主要是接收消息并且转发到绑定的队列,交换机不存储消息,在启用ack模式后,交换机找不到队列会返回错误。交换机有四种类型:Direct, topic, Headers and Fanout(headers模式不怎么使用了,这里不做介绍)


    fanout模式(广播模式):
    会将消息发送给所有队列
    fanout模式,消费者将队列跟交换器进行绑定时,可以不用指定具体的routingKey

    direct模式(直连模式):
    通过完全匹配routingKey来使交换机与哪个队列绑定(一个交换机绑定队列时,可以有多个routingKey)

    topic模式(模糊匹配模式):
    模糊匹配routingKey来使交换机与哪个队列绑定。匹配交换器的匹配符
        *(星号)表示一个单词
        #(井号)表示零个或者多个单词
    如果消费者端的路由关键字只使用【#】来匹配消息,在匹配【topic】模式下,它会变成一个分发【fanout】模式,接收所有消息。
    如果消费者端的路由关键字中没有【#】或者【*】,它就变成直连【direct】模式来工作。
    特殊例子:
    消费者端路由关键字 "*", 不能接收到生产者端发来路由关键字为空的消息
    消费者端路由关键字 "#", 能接收到生产者端发来路由关键字为空的消息
    消费者端路由关键字"#.*", 能接收到生产者端以“..”为关键字的消息, 如果发送来的消息只有一个单词,不能匹配上

    这三种模式的使用示例,可以查看源码:https://github.com/xuwenjin/xwj_repo/tree/master/spring-activemq

  • 相关阅读:
    160. Intersection of Two Linked Lists
    155. Min Stack
    TensorRT caffemodel serialize序列化
    141. Linked List Cycle
    异或运算的性质及应用
    136. Single Number
    【leeetcode】125-Valid Palindrome
    c++函数参数类型-引用、指针、值
    【linux基础】linux远程登录SSH
    【leetcode】122-Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/xuwenjin/p/8970546.html
Copyright © 2011-2022 走看看