我们正在制作一款大型多人社交游戏。我们预计最多可达100万并发用户。游戏不是实时游戏,而是基于回合制。我们需要在客户端和服务器之间进行可靠的消息传递,最好是通过HTTP协议。
除了多人游戏功能外,我们还需要内容传送服务。
请您为我们推荐服务器端技术,我们会开始寻找合适的人才来招聘吗?
是否正确假设没有单个服务器将保持该负载量,因此它必须水平扩展?
Windows Azure能否完成这项工作?
提前致谢。
答案 0 :(得分:2)
嗯...游戏,并发,服务器?
G-WAN(200 KB,完整的ANSI C脚本包括)。
这是迄今为止最好的候选人。随着时间的推移,它可以让你随着负载平衡而水平增长(你在游戏发布的那天不会有100万用户)。
我知道他们在applet(客户端)上工作,所以你可能会问他们这个问题。
答案 1 :(得分:0)
是否[a]正确的假设是没有单个服务器能承受这么多的负载,所以它必须水平扩展?
是。这取决于服务器每人需要做多少工作,但我要说100万并发用户需要多台服务器。
Windows Azure能否完成这项工作?
Windows Azure将提供收费的计算机和存储。您必须提供软件并确保软件可以水平扩展。
答案 2 :(得分:0)
没有正确的假设 单个服务器将持有该数量 加载所以它必须水平缩放?
不,这是无效的假设。有些服务器是HUGH - 1000+处理器(不在集群上)。此外,一百万个并发用户实际上并不是一个真实的数字 - 这对于并发的facebook用户来说太过分了。这完全取决于你在游戏中做了什么。基于TUrn可能是国际象棋,我不会有问题在高端服务器上托管1.000.000并发棋盘,比方说256GB内存。
但实际上,你可能会按比例缩放。首先,在一个游戏/世界中有一百万人没有任何意义(甚至在太阳系的情况下甚至可以在水平线上进行缩放),其次它可能比购买一台超大型计算机便宜。
Windows Azure能否完成这项工作?
哈哈哈。认真。横向缩放 - 是的。
看看价格,计算出一个月的距离,与专用服务器相比,并在前往商店的途中大笑。很适合非常大的负载,不适合基本负载。
Comapre中档服务器(8-12个内存,64GB内存)到天蓝色实例,很清楚ONE azure实例不会比较。
答案 3 :(得分:0)
[引用]百万并发用户不是任何实数[/ quote]
有些游戏具有这种并发性,还有更多。大多数流行的Facebook游戏都有,而他们在阳光下度过了15天。话虽这么说,必须解决这个问题是一个很好的问题: - )
在Azure上编写这样的系统可能是可能的,但是您可能正在未知的水域中进行试验,并且您还必须向Microsoft支付托管费用。例如,与Amazon ECC相比,定价可能会更好。
要考虑的其他技术,取决于您真正想要做的事情: - J2EE - Erlang / OTP - Python / Twisted 此外,gamedev.net上的网络和多人游戏常见问题解答:http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15