MSMQ 在 Azure 上是不是可用

Posted

技术标签:

【中文标题】MSMQ 在 Azure 上是不是可用【英文标题】:Is MSMQ available on AzureMSMQ 在 Azure 上是否可用 【发布时间】:2012-05-18 14:44:57 【问题描述】:

我想使用 WCF + net.MSMQ,我对 Azure 服务总线或 Azure 队列不感兴趣,这些东西太贵了,不符合我设置 P2P 服务的要求。

可靠性也不是问题,系统已经内置了检查丢失消息的机制 - 以防出现严重的硬件故障。

考虑到如果我在 Web/Worker 角色中使用以下代码行提供服务,这是否可以工作,除了这种本地存储的可靠性之外:

MessageQueue.Create(newQueuePath, isTransactional)

从外部/内部端点对 WCF MSMQ 服务的调用也会在负载均衡器后面成功吗?

【问题讨论】:

【参考方案1】:

目前Windows Azure 没有提供MSMQ 平台,因为Azure Storage QueuesAzure Service Bus 被视为替代品。

然而,每一个博客、报告和知识渊博的人都在预感微软“现在很快就会有时间”发布IAAS 产品。当这种情况发生时,将可以在 Azure 中运行像 MSMQ 这样的产品。

【讨论】:

我希望如此。谢谢回复。据我所知,Azure Queues 和 Service Bus 的用途,它们将应用程序与 Azure 服务捆绑得太多了。在利益需要的地方这很好,但对于许多项目,我也不例外,情况并非如此。 msmq 的 azure 或 aws 产品是否有更新?【参考方案2】:

我们的团队拥有MSMQService Bus。我们正在积极致力于简化这两种技术之间的桥接,我们还将在本地提供Service Bus 消息传递引擎。现在构建一个允许您使用其中一个或另一个的瘦抽象应该相当简单。

你可能还想看看http://code.msdn.microsoft.com/windowsazure/Brokered-Messaging-MSMQ-a31c6644

【讨论】:

我希望这个服务总线解决方案能够满足完全分布式、去中心化系统的需求。现在,这是服务总线/队列架构中最缺失的环节。一切都进入IP地址,如果音量太大,它会根据你的需要进行负载平衡,甚至交换机也会开始失败。当然,您可以构建一个软件抽象来实现服务总线之间的负载平衡,但在这一点上它非常复杂,为什么不直接从 MSMQ 开始,在某些情况下实际上更具可扩展性? 不清楚你指的是什么。 Windows Azure 服务总线是一个多节点集群系统,每个缩放单元有几十个前端和后端,我们作为 PaaS 运行具有故障转移功能。 另外注意,每台服务器只有有限的硬盘,所以如果服务总线跟不上,我们就会出现系统缓冲区溢出。所有 100 台服务器都会严重崩溃。 Alwyn -- 坦率地说,你的 cmets 对我没有多大意义。您正在谈论一个 20TB/小时的场景,这归结为超过 50 GBit/秒的持续内部吞吐量。你今天在什么样的基础设施上运行它?您如何获得“100 台服务器”?您希望在磁盘上存储什么以及有多少个磁盘?您如何解决缓冲区溢出和硬崩溃问题? 我熟悉这些概念。你的目标和断言似乎没有多大意义。【参考方案3】:

没有 Azure 版本的 MSMQ。

我相信没有什么可以从 MSMQ 迁移到 Azure 队列

【讨论】:

以上是关于MSMQ 在 Azure 上是不是可用的主要内容,如果未能解决你的问题,请参考以下文章

Azure技术12-高可用--在Azure上创建典型高可用架构应用

Azure技术12-高可用--在Azure上创建典型高可用架构应用

Azure技术12-高可用--在Azure上创建典型高可用架构应用

使 Azure 门户上的 Web 应用每周仅可用几个小时

40.Azure更改VM可用性集

Azure 上托管的高可用性 Service Fabric WebApi