c# - 在 Azure 中托管 WCF 和可扩展性怎么样?

标签 c# wcf azure cloud scalability

出于可扩展性原因,我希望在 Azure 云中托管我的 WCF 服务。例如,将提供用户身份验证服务。并且它将处于高负载(1000+ 用户/秒)下。

这里有人有在高用户负载的 Azure 云中托管 WCF 服务的真实经验吗?

这里的最佳实践、模式是什么?

Azure 是否有一些用于此类任务的云平衡 API?

谢谢, 基里尔。

最佳答案

编辑 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 相关的实验室。 .

关于c# - 在 Azure 中托管 WCF 和可扩展性怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6050157/

相关文章:

c# - 单击 Windows Phone 中的网格

c# - Ubbi Dubbi c#程序代码

c# - 哪个 LINQ 语句更好,为什么?

c# - 连接上下文和 UserNamePasswordValidator

azure 搜索索引器因错误而停止

git - 将项目上传到现有项目

c# - 如何将 .doc 翻译成字符串?

xml - 为什么微软匹配一个XSD xs :integer to a string when importing WSDL?

c# - HTTP 请求未经客户端身份验证方案 'Ntlm' 授权。从服务器收到的身份验证 header 是 'Negotiate,NTLM'

azure - 创建 Azure Cloud Shell 存储时遇到问题