是否可以使用Rebus设置消息的优先级?
场景是我们有一个队列工作者唱歌文件,针对不同的服务,其中一些是用户等待结果,一些是签名文件只是存储供以后使用。
然后,优先考虑等待响应的用户的消息将是很好的。这可能吗 ?
我们正在使用Rebus2和Azure ServiceBus
答案 0 :(得分:0)
不幸的是,由于Azure Service Bus本身不支持消息优先级,并且使用priority queue pattern实现消息优先级很麻烦,因此无法通过在消息上设置优先级来轻松完成。
在一般情况下工作的一种简单方法是为不同的优先级设置单独的Rebus实例,然后可以使用一个特定实例来快速跟踪"快速跟踪"需要超过所有其他消息的消息。
实例可以具有完全相同的配置,除了它们使用不同的输入队列。这样,路由配置(端点映射)就可以确定消息的优先级。