C# MSMQ,从单个windows服务读取多个队列消息
我需要一些设计建议,如果有人可以建议一个将是伟大的 我在windows server上实现了一个WCF服务,该服务从队列(MSMQ)读取消息,并对其进行进一步处理。现在我需要从另一个队列读取消息,然后分别进行处理。我不知道是使用新服务还是更新现有服务,这两个服务将同时从不同队列读取消息C# MSMQ,从单个windows服务读取多个队列消息,c#,wcf,msmq,C#,Wcf,Msmq,我需要一些设计建议,如果有人可以建议一个将是伟大的 我在windows server上实现了一个WCF服务,该服务从队列(MSMQ)读取消息,并对其进行进一步处理。现在我需要从另一个队列读取消息,然后分别进行处理。我不知道是使用新服务还是更新现有服务,这两个服务将同时从不同队列读取消息 我在考虑性能方面,哪一个是最好的选择?您应该能够为每个消费者提供一个单独的线程。下面是伪代码。您唯一需要确保的是在服务关闭时向线程发出停止信号 new Thread(WorkerA) { IsBackground
我在考虑性能方面,哪一个是最好的选择?您应该能够为每个消费者提供一个单独的线程。下面是伪代码。您唯一需要确保的是在服务关闭时向线程发出停止信号
new Thread(WorkerA) { IsBackground = true }.Start();
new Thread(WorkerB) { IsBackground = true }.Start();
void WorkerA() {
while (true) { /* process queue a */ }
}
void WorkerB() {
while (true) { /* process queue b */ }
}
当谈论1个服务和2个服务时,性能应该是相等的,因为它仍然是由操作系统调度的线程。至于稳定性,您可以在拆分服务时更具弹性,但这仍然不应该是一个太大的问题,我希望单服务方法在每个线程中都足够稳定
最后,我会选择最简单的方法