exchange.direct
打开:http://localhost:15672/#/exchanges
1.新增Exchanges:
Name | Type | Features | Message rate in | Message rate out | +/- |
---|---|---|---|---|---|
(AMQP default) | direct | D | |||
amq.direct | direct | D | |||
amq.fanout | fanout | D | |||
amq.headers | headers | D | |||
amq.match | headers | D | |||
amq.rabbitmq.trace | topic | D I | |||
amq.topic | topic | D | |||
exchange.direct | direct | D | |||
exchanges.fanout | fanout | D | |||
exchanges.topic | topic | D |
Durability:durable 持久化的
2.新增Queues:
Overview | Messages | Message rates | +/- | |||||
---|---|---|---|---|---|---|---|---|
Name | Features | State | Ready | Unacked | Total | incoming | deliver / get | ack |
unionpaysmart | D | idle | 0 | 0 | 0 | |||
unionpaysmart.news | D | idle | 0 | 0 | 0 | |||
invi | D | idle | 0 | 0 | 0 | |||
invi.emps | D | idle | 0 | 0 | 0 | |||
invi.idea | D | idle | 0 | 0 | 0 | |||
invi.news | D | idle | 0 | 0 | 0 |
3.将exchange和Queues绑定。
Exchange: exchange.direct
To | Routing key | Arguments | |
---|---|---|---|
unionpaysmart | unionpaysmart | ||
unionpaysmart.news | unionpaysmart.news | ||
invi | invi | ||
invi.emps | invi.emps | ||
invi.idea | invi.idea | ||
invi.news | invi.news |
Exchange: exchanges.fanout
To | Routing key | Arguments | |
---|---|---|---|
unionpaysmart | unionpaysmart | ||
unionpaysmart.news | unionpaysmart.news | ||
invi | invi | ||
invi.emps | invi.emps | ||
invi.idea | invi.idea | ||
invi.news | invi.news |
Exchange: exchanges.topic
To | Routing key | Arguments | |
---|---|---|---|
unionpaysmart.news | *.news | ||
invi | invi.# | ||
invi.emps | invi.# | ||
invi.idea | invi.# | ||
invi.news | *.news | ||
invi.news | invi.# |
”#“ 匹配 0 或者多个单词
”*“ 匹配 1个单词
4.发送/接收消息
exchange.direct 点对点
-
Publish message(发布消息):
Routing key:invi
Payload:direct.exchange.msg.helloword
direct 完全匹配路由键的 所以只有 invi 能收到消息。
-
刷新,查看队列结果:
Overview Messages Message rates +/- Name Features State Ready Unacked Total incoming deliver / get ack unionpaysmart D idle 0 0 0 unionpaysmart.news D idle 0 0 0 invi D idle 1 0 1 0.00/s invi.emps D idle 0 0 0 invi.idea D idle 0 0 0 invi.news D idle 0 0 0 -
查看队列消息:
The server reported 0 messages remaining.
Exchange exchange.direct Routing Key invi Redelivered ○ Properties delivery_mode:1headers: Payload29 bytesEncoding: string direct.exchange.msg.helloword
exchanges.fanout 点对所有
-
Publish message(发布消息):
Routing key:invi.news
Payload:fanout.exchanges.msg.hahahahahaha
-
刷新,查看队列结果:
Overview Messages Message rates +/- Name Features State Ready Unacked Total incoming deliver / get ack unionpaysmart D idle 1 0 1 0.00/s unionpaysmart.news D idle 1 0 1 0.00/s invi D idle 2 0 2 0.00/s 0.00/s 0.00/s invi.emps D idle 1 0 1 0.00/s invi.idea D idle 1 0 1 0.00/s invi.news D idle 1 0 1 0.00/s 所有的队列收到消息+1。
-
查看队列消息:
The server reported 0 messages remaining.
Exchange exchanges.fanout Routing Key invi.news Redelivered ○ Properties delivery_mode:1headers: Payload33 bytesEncoding: string fanout.exchanges.msg.hahahahahaha
Exchange: exchanges.topic 按照指定格式匹配
-
示例1.Publish message(发布消息):
Routing key:invi.news
Payload:topic.exchanges.msg.哈哈哈哈哈哈
符合:
invi.#
又符合:
*.news
除了:unionpaysmart 应该都能收到消息。
-
查看队列消息:
Overview Messages Message rates +/- Name Features State Ready Unacked Total incoming deliver / get ack unionpaysmart D idle 1 0 1 0.00/s unionpaysmart.news D idle 2 0 2 0.00/s invi D idle 3 0 3 0.00/s 0.00/s 0.00/s invi.emps D idle 2 0 2 0.00/s invi.idea D idle 2 0 2 0.00/s 0.00/s 0.00/s invi.news D idle 2 0 2 0.00/s 发现 invi 开头 news后缀的队列都加了1.
-
示例2.Publish message(发布消息):
Routing key: hello.news
Payload:topic.exchanges.msg.嘿嘿嘿嘿
只符合:
*.news
只有 news后缀的能收到消息
-
查看队列消息:
Overview Messages Message rates +/- Name Features State Ready Unacked Total incoming deliver / get ack unionpaysmart D idle 1 0 1 0.00/s 0.00/s 0.00/s unionpaysmart.news D idle 3 0 3 0.00/s invi D idle 3 0 3 0.00/s 0.00/s 0.00/s invi.emps D idle 2 0 2 0.00/s invi.idea D idle 2 0 2 0.00/s 0.00/s 0.00/s invi.news D idle 3 0 3 0.00/s 0.00/s 0.00/s 只有 news后缀的队列+1.
查看并删除消息:
Queues
Get messages
Ack Mode:Ack messages requeues false
网友评论