我正在开发一个智能手机应用程序,需要一个后端Web服务 – 但是我绝对无能为力。
Web服务将处理:
– 用户login
– 编目我们的用户群
– 为用户保留最less的configuration文件信息(唯一的二进制数据是每个显示图像小于20K)
– 在返回结果之前执行一些非常小的计算/algorithm
– 以上所有内容都将通过智能手机(iPhone / BlackBerry / Android)
带宽要求:
– 我们想要全天处理10K用户。
– 我预测每天10k * 50个HTTP请求=每天500,000个请求* 30 =一个月1500万个请求
空间要求: – 数据将在SQL数据库中。
– 我预测1MB /用户* 10k = 10GB +开销。 换句话说,空间不是一个大问题。
软件要求:(除非有人知道替代)
– Windows Server 2008 + IIS
– MSFT SQL Server
注意:这对我来说是100%新的,所以请打你所有的东西。 我需要Windows Server还是有其他select? 获得多台便宜的服务器来分配负载会更好吗? 亚马逊S3会为我工作吗? 那么Windows Azure呢?
编辑说明:在这个时候 – 我更关心成本,以及如何成本将扩大。 所以,如果你提供一个服务build议,你能帮助球场多less这些要求将花费?
谢谢!!
这是一个非常开放的问题。 😉
这取决于很多东西。 这里是我如何处理这样的问题:
1)体系结构 – 您将遇到的很多缩放问题将由您现在如何devise应用程序来定义。 了解您正在编写的语言的优缺点,您正在使用的框架和您托pipe的底层操作系统/服务器是必不可less的。
2)平均请求在没有负载的情况下需要多长时间才能完成? 什么是您的SLA请求应该花多长时间?
3)应用程序如何处理负载? 在什么时候(每台服务器每秒请求)你看到降级?
4)你是否将应用程序划分为可以相互分开调整的层次? (即,你有一个数据库层,一个应用服务器层和一个存储层?)
5)你的预算是多less?
根据您发布的内容,您每秒钟查看大约6个请求。 如果您需要存储 ,我会从一个应用程序框,一个数据库框和一个存储盒开始。 投入负荷,看看什么时候rest。 慢慢地增加用户数,你会看到你想要优化的代码的一部分,或者你可以添加更多的盒子,应用程序遇到问题。
由于这是您的第一次尝试,所以我几乎build议使用完全托pipe的托pipe服务 – 他们将能够帮助进行后端扩展。
祝你好运!
Azure会处理这个问题。 有关详细信息和免费试用版,请参阅Windows Azure 。 我没有Iphone版本,但是这里有一篇关于如何为windows phone 7 构build应用程序的文章
您可以尝试与亚马逊(或任何其他云提供商)的虚拟服务器。 您可以从小实例开始,然后根据需要进行扩展。 成本基于实例大小和带宽,因此估计相对容易。 包括Windows许可证费用。 我不确定MSSQL,但也可能有预先构build的虚拟设备,在这种情况下,您不需要购买完整的许可证,只需付费即可。 希望这可以帮助。