我有一个服务结构无状态服务,它使用以下代码监听服务总线订阅消息:
Client.OnMessage(receivedMessage =>
{
if (Client.IsClosed)
{
return;
}
ProcessMessage(new Workload(receivedMessage));
},
new OnMessageOptions
{
AutoComplete = false,
MaxConcurrentCalls = 5,
AutoRenewTimeout = TimeSpan.Zero
});
我现在想将服务总线主题(我当前正在听)分成两个单独的主题(基于优先级)。我希望这个相同的无状态服务能够并行地监听这两个主题,并进行80/20分割(因此,处理来自高优先级主题的4条消息,同时处理来自低优先级主题的进程1消息)。基本上确保同时处理来自低优先级和高优先级主题的消息。
这个编程模型有问题吗?可以这样做,还是有更好的选择?我试图避免为两个基于优先级的主题创建单独的无状态服务。
谢谢!