Rebus 消息优先级

Rebus priority on message

是否可以使用 Rebus 设置消息的优先级?

场景是我们有一个queueworker singing document,针对不同的服务,有的用户等待结果,有的只是存储签名后的文档以备后用。

然后最好优先考虑等待响应的用户的消息。这可能吗 ?

我们将 Rebus2 与 Azure ServiceBus 结合使用

不幸的是,由于 Azure 服务总线本身不支持消息优先级,并且使用 priority queue pattern 实现它会很麻烦,因此无法通过设置消息的优先级轻松完成。

一种适用于一般情况的简单方法是为不同的优先级设置单独的 Rebus 实例,其中一个特定实例可用于 "fast-track" 需要超越所有其他消息的消息。

这些实例可以具有完全相同的配置,只是它们使用不同的输入队列。这样,路由配置(端点映射)可以确定消息获得的优先级。