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 Queues
和Azure Service Bus
被视为替代品。
然而,每一个博客、报告和知识渊博的人都在预感微软“现在很快就会有时间”发布IAAS
产品。当这种情况发生时,将可以在 Azure 中运行像 MSMQ
这样的产品。
【讨论】:
我希望如此。谢谢回复。据我所知,Azure Queues 和 Service Bus 的用途,它们将应用程序与 Azure 服务捆绑得太多了。在利益需要的地方这很好,但对于许多项目,我也不例外,情况并非如此。 msmq 的 azure 或 aws 产品是否有更新?【参考方案2】:我们的团队拥有MSMQ
和Service 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上创建典型高可用架构应用