服务器端最好的高性能解决方案是什么

服务器端最好的高性能解决方案是什么

我们正在构建某个游戏平台的服务器端,其中大量移动设备(数千台,甚至数万台)连接到服务器,每秒发送一些小信息(假设大约 500 字节)并接收一些基于计算的小响应(大约 1Kb)。

数据有一个 RDBMS 后端(目前是 SQL 服务器,可以是其他任何东西)。

我们已经使用 HTTP GET(使用 ASP.NET)实现了原型,但显然它对于这一需求来说并不好或不可扩展。

构建此堆栈以实现最佳性能的最佳方法是什么?(即 - Windows/Linux、编程语言、设计模式)。非常重要的是,我们可以非常轻松地对其进行扩展,并且它应该具有最佳性能。

非常感谢!

答案1

  • 如果不需要完整的关系数据库,那么一些非SQL解决方案比标准关系数据库的扩展更大/更容易/更快。
  • 无论你做什么,除非你喜欢维护硬件,否则我建议采用云架构
    • 如果您需要完全的系统控制,请查看 Amazon EC2。如果您决定将其迁移到内部,则可以轻松完成桉树(API 相同)。
    • 如果你想构建更高级别的应用程序堆栈,你可以研究一下谷歌应用引擎;它有自己的数据库限制,所以要注意。

答案2

从结构上讲,这种频繁的小事务应用程序非常讨厌延迟。众所周知,无线通信(您说的是移动通信!)会给环境带来延迟,因此必须对此做好计划。G3/4 网络在这方面的表现比 802.11a/b/g/n 网络要糟糕得多。应用程序需要以这样的方式设计,即偶尔出现的 2、3 甚至 5 秒往返时间不会导致整个应用程序突然停止(好吧,5 秒的 RTT 可能会有些卡顿)。

具体做法可能更适合在 StackOverflow 上询问。

相关内容