托管需要基于回合制的iPhone游戏

use*_*312 0 .net cloud iphone hosting bandwidth

所以我花了一些时间开发一个iPhone应用程序 - 这是一个简单的小游戏,类似于"与朋友的话",因为它:

1)是回合制的

2)联系Web服务API以存储"游戏数据"(转弯,用户信息等).

就我而言,我正在使用.NET MVC和SQL Server后端来开发API.我们这里并没有谈论大量的数据 - 小图像将来回传输并存储在数据库中.典型的请求会在数据库中看到添加或更改的一些记录.

我当然没有太多关于什么时候开始变得过载的概念 - 我当然担心的是这件事起飞了(显然是一厢情愿的想法)然后我的服务器变得如此不堪重负以至于它已经死了.话虽这么说,我不想花时间和金钱在Windows Azure上,或者当我的托管需求可能完全无关紧要时.

所以,我的一般性问题是 - 有没有人对事情何时开始超载有任何第一手资料?就像...只是对一段时间内请求或某事的数量的一般估计,假设每个请求都会访问.NET应用程序,然后该应用程序会以合理的次数命中数据库.

甚至一些轶事"我的类似API每分钟被点击10,000次并且托管在糟糕的共享主机上"会很棒,所以我得到了一些概念.

提前致谢!

0x9*_*x90 5

很难对你的问题给出一个好的答案,因为它很大程度上取决于后端对每个请求的确切要求.即使是"琐碎"的服务,根据实际的实现情况,性能也很容易在性能上有很大差异.

作为基于我们项目的粗略指导原则,如果您的API是单个HTTP请求(无HTTPS),请点击一个简单的控制器,将其转换为单个简单的SQL语句("SELECT*FROM foo WHERE bar"),返回较少超过100字节的数据,你可以在一个32位,1千兆赫的盒子上运行大约750个请求,每个分钟有512MB内存.

但如果这些因素中的任何一个上升,这个数字将减少到75或更少.

那说:

这是云计算的典型案例.如果Azure对您来说太麻烦/成本(这不是独立开发人员不常见的抱怨),您有三个主要的选择:

1)Ditch .NET支持Python并在Google App Engine中托管

Python可以快速学习,GAE可以在不需要关心的情况下进行精美的扩展.最重要的是,有一个巨大的免费套餐,所以除非你的应用真的起飞,否则你不会支付一分钱.当你正在为iOS开发时,我认为你开始时并没有完全依赖于.NET.

2)如果您需要.NET,请使用AWS

他们也有一个相当大的免费等级.要么将所有内容都放在Mono堆栈之上(第1年完全免费),要么为Windows EC2实例支付费用.这需要比GAE更多的计划,但通过一些工作,您可以使其扩展到您的应用程序的任何地方.

如果成本是一个问题,请使用相同的AWS群集来托管您的几个Apps的API.

3)使用OpenFeint的多人游戏API

OpenFeint支持基本的多人游戏.如果您可以使用它实现所需的功能,那么这可能是最佳解决方案.如果没有,请查看(1)和(2).