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

  • 相关阅读:
    SQL CREATE TABLE 语句
    SQL CREATE DATABASE 语句
    SQL INSERT INTO SELECT 语句
    SQL SELECT INTO 语句
    Why is chkconfig no longer available in Ubuntu?
    drag-html
    js利用offsetWidth和clientWidth来计算滚动条的宽度
    procomm plus
    很多shell命令后面的单横杠和双横杠,原来这个意思
    angular md-toast 颜色
  • 原文地址:https://www.cnblogs.com/xuwenjin/p/8970546.html
Copyright © 2011-2022 走看看