AMQP学习

AMQP学习

Topic Exchange的匹配

  • *: 匹配一个单词
  • #: 匹配零或多个单词
1
e.g. *.stocks.# 能够匹配usd.stocks以及eur.stocks.db,但不能匹配stocks.nasdaq

header exchange的匹配

  • 这种类型的exchange在匹配时会忽略routingKey, 它会使用消息的头信息来进行匹配
  • 在头信息中,x-match是个特殊的头,它的值决定了其它头信息的匹配算法,它可以有两种取值,
    • all: 意味着其它的头信息必须全部匹配(and)
    • any: 意味着只要任意头信息匹配了就可以(or)
  • 头信息中某个属性匹配的判定规则:
    • 在绑定的时候,这个属性没有设置值, 在消息的头信息中存在这个属性
    • 在绑定的时候,这个属性设定了相应的值,在消息的头消息中存在这个属性,并且这个属性的值和绑定值相等
  • 所有以x-(除了x-match)开始的头信息是保留字段,都将会被忽略

    注意: headers类型的exchange中的头信息不支持通配符!

vhost

虚拟主机在RMQ中起到了命名空间的作用,它将不同的用户进行隔离,因此不同的应用可以使用在同一个broker中的不同虚拟主机

您的支持将鼓励我继续创作!