我已经设置了一个Azure ServiceBus主题,其中包含两个订阅 - 一个用于高优先级,另一个用于低优先级。我在订阅上有SqlFilters,并且我已经验证了邮件是否被正确路由,但优先级没有被考虑在内。
我使用ServiceBusTrigger(topic, subscription)
属性来接收消息,有没有办法使用该属性确定队列的优先级,或者我是否需要按照我想要的顺序从WebJob手动调用我的队列,并使用NoAutomaticTrigger
属性?
答案 0 :(得分:1)
Microsoft Azure本身不提供排队机制 通过排序支持消息的自动优先级排序。 但是,它确实提供了Azure Service Bus主题和订阅, 它支持提供消息过滤的排队机制, 以及广泛的灵活功能,使其成为理想选择 用于几乎所有优先级队列实现。
在主题中,优先级与队列不同。所以它是过滤器。使用低分页消息将在主题中进行低过滤订阅,高分类消息将进行高过滤订阅。过滤器只是路由消息(每个订阅都有不同的虚拟队列)。