【发布时间】:2011-06-20 19:09:37
【问题描述】:
我和一些朋友为 Facebook 编写了一款游戏,但并未考虑游戏的实际架构 - 想象一下,当我们每月拥有超过 300,000 名独立玩家并且我们的服务器崩溃时,我们会感到惊讶。
现在我们正在重新设计游戏的整个服务器端,以使其更具可扩展性,并能够支持数十万甚至数百万的用户。
目前我对整个缩放概念还是个新手,但据我了解,这或多或少是我们需要的: 1.负载均衡器 2. 每 20,000~ 个并发用户一个 Web 服务器(我们联系了第 3 方 Comet 开发人员,声称他们每个节点最多可以支持 20,000 个并发连接) 3.一个缓存集群 4. 数据库集群
现在这显然是非常抽象的,但我错过了什么吗? 如果我们在 .NET 中开发这个,谁能推荐一个好的集群缓存服务器技术?
请记住:
- 我们的目标是覆盖数百万玩家
- 我们的目标是覆盖成千上万的并发用户中的 10 到 100 位
- 我们需要在缓存中保留尽可能多的数据,并每隔一段时间将其转储到数据库中
- 我们确实在玩家之间进行了某种交互(获取玩家分数更新等),我们需要一个集中或复制的缓存来处理(基本上意味着我们需要所有 Web 服务器访问的缓存数据完全同步)
【问题讨论】:
标签: .net facebook caching scalability cluster-computing