MSMQ的非破坏性(偷看)并行处理

时间:2017-05-27 12:46:57

标签: c# .net parallel-processing msmq

我有一个MSMQ,每秒都会发送数百条消息。为了帮助处理并提供高可用性,我正在处理N台计算机上的队列。我每台计算机有两个服务,一个是读取队列的Reader,另一个是实际处理消息的节点。请注意,节点排列在HA的集群中。

目前我的实施"读取"离开队列,基本上从队列中删除消息。这在测试中很好,但是如果处理节点发生了一些消息将丢失的事情。

因此我认为需要实现这样的事情:

  • 偷看队列,
  • 发送要由节点处理的消​​息
  • 检查结果
  • 如果成功,请从队列中读取(即删除)消息。

目前我使用TPL并行处理消息,但我不确定如何使用peek来实现这样的事情?

注意: 我认为偷看,然后阅读成功是最好的方式去这里?

0 个答案:

没有答案