如何防止Azure队列积压

时间:2012-10-01 19:37:38

标签: design-patterns azure azure-queues

我有一个Azure Web应用程序,它将消息发送到Azure队列,我有工作人员轮询队列并在消息可用时处理消息。在大多数情况下,这工作正常,我对这种设计感到满意。

然而,有一种情况是它没有那么好用,我在寻找有关如何处理这个具体案例的建议:

偶尔,特定用户(让我们称他为Bob)会执行一些操作,导致多个消息被发送到队列,从而产生积压,而其他用户必须等待Bob的消息在他们的消息之前被处理消息被处理。他们因为Bob在队列中发送了许多消息而受到惩罚。

如何改进设计以防止一个用户的邮件不会导致其他用户的邮件被延迟?我的第一直觉是为每个用户创建一个队列,但如果我有几千个用户,我不确定这是一个合理的设计。

是否存在解决此方案的设计模式?如果是这样,我可以重用的模式是否有任何C#实现?

0 个答案:

没有答案