MassTransit选择性消费者没有往返

时间:2014-07-17 20:55:33

标签: masstransit

我正在考虑使用masstransit,并且如果网络链接不可靠且速度慢(他们在同一个WAN但使用缓慢且昂贵的蜂窝链接),则需要在最后选择性地向消费者发送消息。

我期待1到200的扇出,其中消息量最少且可靠性最低/最昂贵的链接的网站需要忽略消费者可能看到的潜在大量消息流量

我已经看过使用Selective用户界面,但这似乎意味着该消息总是发送给所有消费者,如果它与谓词不匹配则被丢弃。这种开销是不可接受的。

不使用端点工厂并手动管理uri端点来执行Send(),是否有一种很好的方法可以使用订阅?

1 个答案:

答案 0 :(得分:0)

简单回答:不。

你确实有几个选择。它只是基于加载/处理的路由吗?您可以使用竞争消费者来进行负载平衡。所有端点都读取相同的队列(但它们必须是从队列中读取的每个进程上的相同使用者),然后选择下一个端点。如果你速度慢,你只需要选择更少的消息。 (您只能将竞争的消费者与RabbitMQ一起使用)。

对于MSMQ,有一个为负载平衡而构建的分销商。你可以看看在RabbitMQ之上重建那个,如果这是你的运输。它并不复杂,但需要付出一些努力。

除此之外,我认为您可能会从头开始写一些东西。它不再是pub / sub了。所以它不属于MT的驾驶室。