MassTransit中单个队列的多个使用者

Yuv*_*val 5 messaging msmq masstransit

是否有可能让几个消费者监听单个MSMQ实例并使用选择性消费者接口让每个消费者处理不同的消息子集?我似乎无法使用pub/sub使这个场景正常工作 - 队列上的单个使用者工作正常,但是当使用> 1个使用者(同一个可执行文件的多个实例)时,任何地方都不会显示任何消息.据我所知,这不是"竞争消费者"的情况,因为只有一个消费者会处理一条消息.

任何帮助或指示表示赞赏.

Chr*_*son 3

如果您使用 MassTransit 从 MSMQ 队列调度消息,建议该队列位于设备本地。

话虽这么说,如果您有多个进程从同一队列中读取数据以分配消息负载,则可以使用选择性接收来仅使用每个实例中与该进程相关的消息。

例如,如果您有多个向服务发送消息的应用程序实例,并且该服务以相关消息进行响应,则您可以通过标识符订阅相关消息,并且只会传递那些订阅的消息。未选择的消息将保留在队列中,直到由任何感兴趣的进程处理。

由于这种模式,强烈建议对消息设置过期时间,以便被忽略的响应不会随着时间的推移而堵塞队列。

通过消息传递复制请求/响应模式时,这种情况非常常见。