在 Azure 中托管 WCF 和可扩展性怎么样?
Posted
技术标签:
【中文标题】在 Azure 中托管 WCF 和可扩展性怎么样?【英文标题】:What about hosting WCF in Azure and scalability? 【发布时间】:2011-08-28 08:30:09 【问题描述】:出于可扩展性的原因,我想在 Azure 云中托管我的 WCF 服务。例如,将提供用户认证服务。它将处于高负载(1000+ 用户/秒)下。
这里有人真正体验过在用户负载高的 Azure 云中托管 WCF 服务吗?
这里有哪些最佳实践和模式?
Azure 是否有一些用于此类任务的云平衡 API?
谢谢, 基里尔。
【问题讨论】:
1000+ 用户/秒?这似乎很多。 是的,可能是这样,至少预期用户数量呈指数级增长。 【参考方案1】:2014 年 4 月 9 日编辑 - 更新了最新的可扩展性目标
Windows Azure 负载平衡器将流量定向到您的 Web 角色或辅助角色的所有实例。因此,负载得到了分配。
当您设置 WCF 服务端点时,它基本上存在于所有角色实例上,因此您可以扩展到任意数量的 VM 实例,以提高流量处理能力。但是,您必须处理下游油门点。例如,如果您从所有 WCF 服务主机读取/写入 Azure 表存储,则每个表分区每秒限制为 500 2,000 个事务。每个存储帐户支持每秒 20,000 个事务的最大目标(由于单个分区的上限为 2K/秒,因此您需要多个分区)。
确保您的 WCF 服务是无状态的,因为无法保证客户端会在后续调用中连接到同一服务器。
我看到我们的一些客户使用大量 WCF 服务。我无法想象每秒 1000 次调用会成为问题,因为您可以扩展到多个实例。
编辑:Windows Azure Platform Training Kit 中有一些 WCF 相关实验室。
【讨论】:
以上是关于在 Azure 中托管 WCF 和可扩展性怎么样?的主要内容,如果未能解决你的问题,请参考以下文章
将 WCF SOAP 和 WCF REST 服务托管为 Azure 应用服务
使用 Azure 应用服务中托管的 WCF 服务时出现凭据错误