direct (交换器 路由键匹配,投递到对应的队列)
1 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,当 有队列 queue_name 绑定到 本交换器 exchange_name 并且绑定路由键为 routing_key_name ,则消息到达队列 queue_name
2 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,当 有队列 queue_name 绑定到 本交换器 exchange_name 并且绑定路由键为 routing_key_name_1 非 routing_key_name ,消息丢弃
3 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,无 队列 绑定到 本交换器 exchange_name,无论绑定的 路由键 是不是 routing_key_name 消息丢弃
1 客户端 client 将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 routing_key_name , 则 接受 来自 交换器 exchange_name 路由键为 routing_key_name 的消息,不接受 routing_key_name_1 的消息
2 客户端 client 将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 routing_key_name 和 routing_key_name_1 , 则 接受 来自 交换器 exchange_name 路由键为 routing_key_name 和 routing_key_name_1 的消息
3 客户端 client 将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 routing_key* , 则 接受 来自 交换器 exchange_name 路由键为 routing_key* 的消息,不接受 路由键为 routing_key_name 和 routing_key_name_1 的消息
4 客户端 client 将 多个队列 queue_name_1 queue_name_2 queue_name_3 都绑定 到 交换器 exchange_name 路由键为 routing_key_name , 则 所有队列 接受 来自 交换器 exchange_name 路由键为 routing_key_name 的所有消息不轮训
fanout (交换器,投递到对应的队列)
1 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键无论是什么 当 有队列 queue_name 绑定到 本交换器 exchange_name 则消息到达队列 queue_name
2 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键无论是什么 无 队列 绑定到 本交换器 exchange_name 消息丢弃
1 客户端 client 将 队列 queue_name 绑定 到 交换器 exchange_name 路由键无论是什么 则 接受 来自 交换器 exchange_name 的消息
2 客户端 client 将 多个队列 queue_name_1 queue_name_2 queue_name_3 都绑定 到 交换器 exchange_name 路由键无论是什么 , 则 所有队列 接受 来自 交换器 exchange_name 所有消息不轮训
topic (交换器 路由键 正则匹配,使用 * 匹配一个单词,# 匹配多个单词,投递到对应的队列)
1 同direct
2 客户端 client 若将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 routing_key.* , 则 接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 的消息 不接受 routing_key_name 和 routing_key.name1.name2 的消息
3 客户端 client 若将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 routing_key.# , 则 接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 和 routing_key.name1.name2 的消息 不接受 routing_key_name 的消息
4 客户端 client 若将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 # , 则 接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 和 routing_key.name1.name2 和 routing_key_name 的消息
5 客户端 client 若将 队列 queue_name 绑定 到 交换器 exchange_name 路由键为 routing_key* 或 routing_key# , 则 不接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 和 routing_key.name1.name2 和 routing_key_name 的消息