我们正在创建一个大型多人社交游戏。我们预计最多有 100 万并发用户。游戏不是实时的,而是回合制的。我们需要客户端和服务器之间的可靠消息传递,最好是通过 HTTP 协议。
除了多人游戏功能,我们还需要内容交付服务。
您能否为我们推荐一种服务器端技术,以便我们开始寻找合适的人选?
没有单个服务器能够承受这么多负载,所以它必须水平扩展,这是正确的假设吗?
Windows Azure 会完成这项工作吗?
提前致谢。
我们正在创建一个大型多人社交游戏。我们预计最多有 100 万并发用户。游戏不是实时的,而是回合制的。我们需要客户端和服务器之间的可靠消息传递,最好是通过 HTTP 协议。
除了多人游戏功能,我们还需要内容交付服务。
您能否为我们推荐一种服务器端技术,以便我们开始寻找合适的人选?
没有单个服务器能够承受这么多负载,所以它必须水平扩展,这是正确的假设吗?
Windows Azure 会完成这项工作吗?
提前致谢。
嗯……游戏、并发、服务器?
G-WAN(200 KB,包括完整的 ANSI C 脚本)。
这是迄今为止最好的候选人。随着时间的推移,它可以让你通过负载平衡水平增长(在你发布游戏的那天你不会有 100 万用户)。
我知道他们正在开发小程序(客户端),因此您可能会受益于向他们提问。
没有单个服务器能够承受这么多负载,因此它必须水平扩展,这是否 [a] 正确的假设?
是的。这取决于服务器每人必须完成多少工作,但我想说 100 万并发用户需要不止一台服务器。
Windows Azure 会完成这项工作吗?
Windows Azure 将提供收费的计算机和存储。您必须提供软件并确保软件可以水平扩展。
没有单个服务器能够承受这么多负载,所以它必须水平扩展,这是正确的假设吗?
不,这是不合理的假设。有些服务器是 HUGH - 1000+ 处理器(不在集群上)。此外,100 万并发用户无论如何都不是一个实数 - 这将是 Facebook 并发用户的太多部分。这完全不取决于你在游戏中做了什么。基于 TUrn 的可能是国际象棋,我不会在拥有 256gb 内存的高端服务器上托管 1.000.000 个并发棋盘。
但实际上,您可能会水平缩放。首先,在一个游戏/世界中拥有 100 万人是没有意义的(即使是 eve 在线按太阳系水平扩展),其次它可能比购买一台超大型计算机便宜。
Windows Azure 会完成这项工作吗?
哈哈哈。严重地。水平缩放 - 是的。
看价格,算一个月的钱,对比专用服务器,在去商店的路上笑。非常适合变化的负载,不适合基本负载。
Comapre 中端服务器(8-12 核,64gb RAM)到一个 azure 实例,很明显一个 azure 实例不会进行比较。
[quote]一百万并发用户无论如何都不是一个实数[/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