• 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

  • 相关阅读:
    integer和double的比较.
    查看mysql版本的四种方法
    codefoces 1397D Stoned Game
    最小生成树集合合并
    codefoces 1400B RPG Protagonist
    codefoces 1400B RPG Protagonist
    牛客挑战赛42 小睿睿的伤害
    病毒扩散 排列组合
    Dus on tree 月出皎兮,佼人僚兮。
    msc的宠物 二分+树形DP
  • 原文地址:https://www.cnblogs.com/xuwenjin/p/8970546.html
Copyright © 2020-2023  润新知