【问题标题】:How to implement a competing consumer solution?如何实施竞争性消费者解决方案?
【发布时间】:2012-02-22 20:51:44
【问题描述】:

作为练习,我试图找到一个实现竞争消费者的示例。

许多生产者 -> MSMQueue

到目前为止,我还没有找到任何关于如何实现这一点的文档。我第一次尝试弄清楚在 MassTransit 或 NServiceBus 中是如何实现的,但多次间接失败。

任何帮助将不胜感激。

【问题讨论】:

    标签: msmq message-queue messaging nservicebus masstransit


    【解决方案1】:

    借助 MassTransit 和 MSMQ,您可以使用 Distributor 组件实现此目的。

    请注意,如果您将 MassTransit 与RabbitMQ 一起使用而不是 MSMQ,您可以不使用分发器实现竞争消费者场景,只需为所有消费者设置相同的队列名称即可。如果您可以在 MSMQ 和 RabbitMQ 之间进行选择,我会选择 RabbitMQ,因为您可以获得更好的管理工具和 SSL 加密,而且它也可以很好地与防火墙配合使用。

    MassTransit Google Groups forum 上对此进行了一些讨论。

    【讨论】:

    • 作为编写分发器的人,我第二次使用 RabbitMQ。我们每天通过分发器发送数千万条消息,但 RabbitMQ 使这变得更加容易。你不能使用同一个队列来读取 MSMQ,每个消费者都需要它自己的队列,但分发器组件负责分发工作负载。
    • 谢谢,我去看看 RabbitMQ。 Travis 分销商的机制是什么?充当输入队列中的 1 个单一消费者,并使用控制队列按工作人员可用性分派工作?
    • @ruslander - 正确,这就是分销商的工作方式。
    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2013-08-13
    • 2019-07-16
    • 2016-08-08
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多