【发布时间】:2012-01-24 10:12:43
【问题描述】:
在我的场景中,消息以预定义的顺序出现。一旦它进入我们的系统,多个接收者会从传入队列中提取消息并进行处理。一旦处理完成,处理后的消息应该按照它们到达的顺序发送出去。在扩大的系统中,我们如何确保这一点?
系统需要高处理速度和吞吐量。在 .net 世界中,哪个队列最适合这种情况?
【问题讨论】:
-
显然您必须存储消息响应。立即在状态为“处理中”的传出队列中创建一个条目。将其更新为“完成”并在工作人员完成后存储响应。然后按顺序发送队列中的所有内容,直到您找到仍然处于“处理”状态的条目。
-
哪个队列最适合这种情况?我已经更新了问题。
-
System.Collections.Generic.Queue,不是消息队列。
-
系统需要高处理速度和吞吐量。如果我在一台机器上维护 Generic.Queue,那会不会成为单点故障?
标签: c# queue msmq sequence service-broker