我一直在使用AWS SQS,它具有很好的功能,当从队列中声明消息时它会锁定一段时间。在此锁定期间,如果处理成功,则将消息标记为已完成。如果处理失败(并且没有从消息处理器收到响应),则在一段时间后锁定到期并且该消息可供另一个处理器接收。
现在我需要在SQS之外使用队列(主要是出于延迟的原因,但也可能出于成本原因)。我真的在寻找具有相同特征的队列提供者。 MSMQ对我来说是显而易见的选择,因为它已经安装并且我们在其他地方使用它,但我找不到任何以相同方式处理失败消息的功能。
MSMQ是否允许这样做,还是有一种简单的方法来复制它?
或者,是否有其他轻量级的开源消息服务呢?
答案 0 :(得分:2)
MSMQ已经这样做了。如果您在事务中读取消息并且事务中止,则消息将重新出现在队列中。