我们正在构建某个游戏平台的服务器端,其中大量移动设备(数千台,甚至数万台)连接到服务器,每秒发送一些小信息(假设大约 500 字节)并接收一些基于计算的小响应(大约 1Kb)。
数据有一个 RDBMS 后端(目前是 SQL 服务器,可以是其他任何东西)。
我们已经使用 HTTP GET(使用 ASP.NET)实现了原型,但显然它对于这一需求来说并不好或不可扩展。
构建此堆栈以实现最佳性能的最佳方法是什么?(即 - Windows/Linux、编程语言、设计模式)。非常重要的是,我们可以非常轻松地对其进行扩展,并且它应该具有最佳性能。
非常感谢!
答案1
答案2
从结构上讲,这种频繁的小事务应用程序非常讨厌延迟。众所周知,无线通信(您说的是移动通信!)会给环境带来延迟,因此必须对此做好计划。G3/4 网络在这方面的表现比 802.11a/b/g/n 网络要糟糕得多。应用程序需要以这样的方式设计,即偶尔出现的 2、3 甚至 5 秒往返时间不会导致整个应用程序突然停止(好吧,5 秒的 RTT 可能会有些卡顿)。
具体做法可能更适合在 StackOverflow 上询问。