我在 Windows Server 上构建了一些利用 MSMQ 的应用程序。我想将这些移植到基于 Azure 的 Web 应用程序,这可以帮助我解决我过去面临的一些安全和信任障碍挑战。
我的问题是,我可以期望 Windows Azure 存储的消息队列方面的行为与 MSMQ 相同吗?
我在 Windows Server 上构建了一些利用 MSMQ 的应用程序。我想将这些移植到基于 Azure 的 Web 应用程序,这可以帮助我解决我过去面临的一些安全和信任障碍挑战。
我的问题是,我可以期望 Windows Azure 存储的消息队列方面的行为与 MSMQ 相同吗?
一般来说,不是真的。虽然两者都是排队解决方案,但您会发现 Windows Azure 队列没有 MSMQ 所具有的相同保证(有充分的理由)。例如,WAQ 支持“至少一次”与“仅一次”的交付模型。它还使用 2PC 模型,您必须在其中弹出然后删除消息。它也不涉及像 MSMQ 可以处理的事务。但是,对于云排队场景,其中一些考虑因素并不重要。还有其他不同的细微差别(消息 TTL、不可见性、续订、存储时间等)。
如果您解释您的排队需要必须具备哪些功能,可能会更容易回答得更完整。另外,请记住,AppFabric 有一个排队服务,根据您的实际需要,它也可能是合适的。