游戏服务器与web服务器的区别

  1. web普通多用http。游戏多用tcp/udp+自定义协议。

  2. web常用短连接,不占用服务器socket资源,也有长连接模式,可以在服务器端设置 keep-alive 保持时间。游戏服务器多用长连接,由于要进行长连接,服务器端的socket就不能进行复用,单台服务器处理请求是会有限。

  3. web客户端之间基本不需要交互,只用和服务器交互,交互不频繁,一次性交互的数据较多。游戏客户端之间可能有交互行为,Client会主动给Server发送数据,Server也可能主动往Client发送数据,生命周期比较长,一次发送的数据量比较小,但是数据交互发送比较频繁。在MMO类型游戏中,每个客户端的数据的变化,都要通过服务器端广播给其他客户端。所以客户端会有上限,这也就是为什么服务器要进行分区,一个区里面同时在线人数会有限制。

  4. 通常web程序是比较好扩展的,通过硬件负载均衡和添加web服务器来实现。用web的方案解决扩展问题,也不太适用。

  5. 游戏服务器:CPU密集(Redis:内存状态值读写),网络IO密集(广播)。网站服务器:状态比较少(Redis:会话信息),数据库IO密集.

最后更新于