这里是一个例子:
TYPE : TOPIC
exchange.v1 -> queue.order
exchange.v2 -> queue.log
所以当运行应用程序的应用程序必须首先配置交换功能吗?并且在一个服务中只能有1个交换?
我有1个用于记录的服务和1个用于订购的服务。所有散文将发送到日志记录服务,然后转发另一个事件。在这种情况下,请排队。
因此可以从其他交易所发布事件吗?还是我错过了什么?请让我知道:(
交换不与“服务”绑定,更不用说以1:1的方式。
RabbitMQ中的交换是消息接收器。任何现有的交换都可以由具有适当权限的任意数量的应用程序(“服务”)发布到。
交换可以预先部署,也可以由应用程序自动创建。预先部署通常更为常见。这可能会或可能不会超出单个“服务”的生命周期。
交换(取决于类型)也可以路由到同一虚拟主机上的任意数量的队列。
现在,所有这些都被排除了。.
很有可能将消息从队列转发到另一个交换:从队列(存储)中读取,发布到交换(接收器)。这可以通过代码甚至通过Shovel插件之类的工具完成-“正确”的方法在很大程度上取决于语义,就像选择路由一样。]
个人,我建议将RabbitMQ处理链保持在应用程序域允许的范围内。