游戏的服务器端技术

发布于 2024-10-06 11:54:38 字数 260 浏览 3 评论 0原文

我们正在创建一款大型多人社交游戏。我们预计并发用户数可达 100 万。该游戏不是实时的,而是回合制的。我们需要客户端和服务器之间可靠的消息传递,最好是通过 HTTP 协议。

除了多人游戏功能之外,我们还需要内容交付服务。

您能否为我们推荐一种服务器端技术,以便我们开始寻找合适的人才?

没有任何一台服务器能够承受如此多的负载,因此它必须水平扩展,这是正确的假设吗?

Windows Azure 能胜任这项工作吗?

提前致谢。

We’re creating a massively-multiplayer social game. We expect up to 1 million concurrent users. The game is not real-time, instead it’s turn-based. We need reliable messaging between our clients and the server, preferably over HTTP protocol.

Besides the multiplayer functionality, we’ll also need a content delivery service.

Could you please recommend a server-side technology for us, so we’ll start searching for the right people to hire?

Is it correct assumption that no single server will hold that amount of load so it must scale horizontally?

Will Windows Azure do the job?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

不喜欢何必死缠烂打 2024-10-13 11:54:38

嗯...游戏、并发、服务器?

G-WAN(200 KB,包含完整的 ANSI C 脚本)。

这是迄今为止最好的候选人。随着时间的推移,它可以让您通过负载平衡实现横向增长(在游戏发布之日您不会拥有 100 万用户)。

我知道他们正在开发小程序(客户端),所以你可能会受益于问他们这个问题。

Hmmm... gaming, concurrency, server?

G-WAN (200 KB, full-ANSI C scripts included).

This is the best candidate -by far. And it lets you grow horizontally with load-balancing as time goes (you will not have 1 million users the day you ship the game).

I know they are workng on applets (client-side) so you might benefit asking them the question.

小糖芽 2024-10-13 11:54:38

[quote]一百万并发用户无论如何都不是一个真实的数字[/quote]

有些游戏具有这种并发性,甚至更多。大多数流行的 Facebook 游戏都会这样做,尽管它们还有 15 天的阳光。话虽这么说,必须解决这个问题是一个很好的问题:-)

可能可以在 Azure 上编写这样的系统,但您可能会在未知的领域进行试点,并且您还必须向 Microsoft 付费托管。例如,与 Amazon ECC 的定价相比,也许另一种方法会更好。

需要考虑的其他技术,取决于您真正想要做什么:
- J2EE
- Erlang/OTP
- 蟒蛇/扭曲
另外,gamedev.net 上的网络和多人游戏常见问题解答:http:// www.gamedev.net/community/forums/showfaq.asp?forum_id=15

[quote]a million concurrent users IS NOT a real number by any means[/quote]

There are games that have this concurrency, and more. Most of the popular Facebook games do, while they have their 15 days in the sun. That being said, having to solve that problem is a nice problem to have :-)

It's probably possible to write such a system on Azure, but you'd probably be piloting in uncharted waters, and you'd also have to pay Microsoft for the hosting. Compare to Amazon ECC for pricing, for example, and perhaps another approach would be better.

Other technologies to consider, depending on what it is you're really trying to do:
- J2EE
- Erlang/OTP
- Python/Twisted
Also, the networking and multiplayer game FAQ on gamedev.net: http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15

小霸王臭丫头 2024-10-13 11:54:38

没有任何一台服务器能够承受如此多的负载,因此它必须水平扩展,这是正确的假设吗?

是的。这取决于服务器每人需要完成多少工作,但我认为 100 万个并发用户将需要不止一台服务器。

Windows Azure 能胜任这项工作吗?

Windows Azure 将提供有偿计算机和存储。你必须提供软件并确保软件可以水平扩展。

Is it [a] correct assumption that no single server will hold that amount of load so it must scale horizontally?

Yes. It depends on how much work the server has to do per person, but I'd say 1 million concurrent users would require more than one server.

Will Windows Azure do the job?

Windows Azure will provide the computers and the storage for a fee. You have to provide the software and make sure the software can scale horizontally.

久光 2024-10-13 11:54:38

以下假设正确吗?
单个服务器将容纳该数量
加载所以它必须水平缩放?

不,那是不合理的假设。有些服务器有 1000 多个处理器(不在集群上)。此外,一百万并发用户无论如何都不是一个真实的数字——这在 Facebook 并发用户中所占的比例太大了。这完全取决于你在游戏中做了什么。基于 TUrn 的游戏可以是国际象棋,并且在具有 256GB 内存的高端服务器上托管 1.000.000 个并发棋盘不会有问题。

但实际上,您可能会水平扩展。首先,在一个游戏/世界中拥有 100 万人是没有意义的(即使《Eve Online》也按太阳系横向扩展),其次它可能比购买一台超级电脑便宜。

Windows Azure 能胜任这项工作吗?

哈哈哈。严重地。水平缩放 - 是的。

  • 看看价格,计算一个月的租金,与专用服务器进行比较,然后在去商店的路上笑。对于非常大的负载来说很好,对于基本负载来说很糟糕。

  • Comapre 中端服务器(8-12 核、64GB RAM)到 azure 实例,显然 ONE azure 实例无法与之相比。

Is it correct assumption that no
single server will hold that amount of
load so it must scale horizontally?

No, that is nao avalid assumption. There are servers that are HUGH - 1000+ processors (not on a cluster). Also, a million concurrent users IS NOT a real number by any means - that would be way too much a slice of the concurrent facebook users. And it totally depends no what you do in your game. TUrn based could be chess, and I would not have a problem hostin 1.000.000 concurrent chess boards on a high end server with let's say 256gb memory.

Realistically, though, you possibly will scale horizontaly. First, it makes no sense to ahve a million people in one game / world (even eve online scales horizontally by solar system), second it is likely cheaper than buying a super big computer.

Will Windows Azure do the job?

Hahaha. Seriously. Scaling horizontally - yes.

  • Look at the price, calcualte up an nistance for a month, compare to dedicated server and laugh on the way to the shop. Nice for very varsying load, bad for base load.

  • Comapre mid range server (8-12cores, 64gb RAM) to an azure instance and iti s clear ONE azure instance is not going to compare.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文