说,我有1个CPU密集型C ++控制台应用程序(游戏服务器)。我是否需要专门对其进行编程才能在多台机器上扩展1个应用程序,或者有特殊的软件可以使2-3台服务器单独运行?
更新:我从游戏服务器分离了登录服务器。服务器有一个所有玩家聚在一起的地方,但没有这样的cpu工作。游戏线程中最多,玩家创建一个游戏 - 1个线程。
据我所知,我需要编写应用程序才能在另一台服务器上创建游戏实例?
答案 0 :(得分:1)
您需要在考虑负载平衡的情况下对其进行编程。
如果你已经运行它,尽量使尽可能多的线程可以使它在多CPU /多核机器上使用额外的内核/额外的cpus。
然后看看将元游戏信息移动到一台单独的机器来处理登录信息等。
答案 1 :(得分:1)
您必须以这样一种方式对服务器进行编程,使其知道可能存在其他自身实例 - 例如,通过将其中一部分任务作为其职责,其他实例将知道其他人正在执行此操作而不是两次。
对于负载平衡 - 有一些软件可以自动进行负载平衡,但负载均衡只有在实际服务器支持时才能正常工作。