出于可扩展性原因,我希望在 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/