【问题标题】:Masstransit: send message to all consumers and wait for response from themMasstransit:向所有消费者发送消息并等待他们的响应
【发布时间】:2018-01-03 14:12:01
【问题描述】:

一方面,我有一个自定义网页,它会向我发送一些用于测试目的的消息。另一方面,我有 4 个消费者,它们监听同一个队列(循环模式)。

每个消费者在收到消息后都需要做好工作,例如阅读消息、编码字符串并创建文件、启动另一个应用程序、向客户发送电子邮件。

如果我为一位消费者运行我的解决方案,效果会很好。但是,如果尝试为不止一个消费者做同样的事情,我会遇到例外。

如果我在队列中收到许多消息,我会尝试向每个消费者发送一条消息并等待他们的响应。当我在队列中收到消息时执行此操作。

如果有人可以帮助我并告诉我在哪里可以找到此类信息或一些示例,我会很高兴。

【问题讨论】:

  • 您将违反发布/订阅的规则。生产者不应该了解他们的消费者。当“所有消费者”时:生产者需要知道他们(或数量)才能等待“他们全部”。重新思考你的设计!
  • 这是 Scatter-Gatter 模式。目前你只能通过 saga 来做到这一点。
  • 谢谢。有没有办法将消息顺序发送到每个队列,以便有相同数量的消息

标签: c# .net rabbitmq masstransit


【解决方案1】:

您可以使用 Saga 实现您想要做的事情。

这里是the MassTransit documentation

这里是a Saga sample project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    相关资源
    最近更新 更多