Azure Service Bus - 并行接收来自两个单独订阅的消息

时间:2018-04-10 15:37:42

标签: azure microservices azureservicebus servicebus stateless

我有一个服务结构无状态服务,它使用以下代码监听服务总线订阅消息:

Client.OnMessage(receivedMessage =>
{
    if (Client.IsClosed)
    {
          return;
    }
    ProcessMessage(new Workload(receivedMessage));
}, 
new OnMessageOptions
{
    AutoComplete = false,
    MaxConcurrentCalls = 5,
    AutoRenewTimeout = TimeSpan.Zero
});

我现在想将服务总线主题(我当前正在听)分成两个单独的主题(基于优先级)。我希望这个相同的无状态服务能够并行地监听这两个主题,并进行80/20分割(因此,处理来自高优先级主题的4条消息,同时处理来自低优先级主题的进程1消息)。基本上确保同时处理来自低优先级和高优先级主题的消息。

这个编程模型有问题吗?可以这样做,还是有更好的选择?我试图避免为两个基于优先级的主题创建单独的无状态服务。

谢谢!

0 个答案:

没有答案