【问题标题】:Client server with Rabbit Message Queue带有 Rabbit 消息队列的客户端服务器
【发布时间】:2018-01-31 20:41:10
【问题描述】:

我正在尝试使用 Rabbit 消息队列编写基本的客户端服务器通信。 我通过在客户端和服务器中声明完全相同的队列来实现这一点。

问题是现在我得到了双方的所有消息。

服务器消息也被服务器接收,客户端消息也被客户端接收。

如何实现分离——让服务器只接收来自客户端的消息,让客户端只接收来自服务器的消息?

我应该为此创建 2 个不同的队列吗?或者有没有办法以某种方式过滤消息?

【问题讨论】:

    标签: c# .net rabbitmq


    【解决方案1】:

    是的,如果你真的需要这样,那么 2 个队列。可能标头交换,然后在消息标头中“标记”接收者...

    看看RPC tutorial from rabbitMQ,听起来这就是你所追求的

    【讨论】:

    • 将 xml 配置文件与每一方的队列一起保存是一个好方法吗?不一定只有客户端向服务器发送请求,如 rpc 示例中所示。还有一种情况是从服务端推送通知到客户端。
    • 我不知道你对带有队列的 xml 配置文件是什么意思,但总的来说 - 不,队列名称有点毫无价值。你总是从交换中消费。因此,如果您有一个交换器,并使用两个不同的路由键,那么让一个消费者(在您的情况下为服务器或客户端)声明一个具有第一个路由键的队列,另一个消费者使用第二个
    • 可能是错字,但You are always consuming from exchange 不正确,您总是从队列中消费,而不是从交易所消费。
    • @Gabriele 完全正确,对不起,谢谢!所以我们总是发布到一个交换并从队列中消费。
    猜你喜欢
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2012-11-09
    • 2012-12-05
    • 1970-01-01
    相关资源
    最近更新 更多