正确的路由密钥,用于在RabbitMQ中交换绑定

时间:2016-07-06 18:19:16

标签: rabbitmq

我正在寻找一种方法 RabbitMQ中的分层路由。我试图在文档中找到答案,但突然失败了。

通常,RabbitMQ允许您通过某些路由密钥连接到直接交换,但我不清楚如何在多个交换机之间路由。

例如,我们说我们已经拥有了#root;'交换和' host1'与路由键' host1'交换。我有一个队列绑定到主机1'通过路由键交换自己的pid。 我可以将消息发布到' root'与routing_key交换,例如' host1.31261'?显然,它并没有完全按照这种方式工作,但有没有办法制定一条具有不同直接交换的复杂路线?

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做

您可以对此

使用exchange to exchange绑定

您可以包含此绑定的路由键

原始目标和目标的交换类型可以是您想要的任何类型。需要主题交换复杂的路由?然后将你的交流声明为主题。

你甚至可以从host的主题交换到直接或扇出交换作为目标。

关键是在进行绑定之前声明每个需要声明的交换。

该文档中显示的示例包括java和.net代码。您需要向图书馆查询您使用的特定语言。

但是,总的来说,队列的相同绑定适用于交换。你只需要调用等效的" bind exchange"方法,而不是"绑定队列"

如果您的图书馆不支持,您可以通过RabbitMQ管理网站手动添加绑定。