比如说,我有一个CPU密集型的C++控制台应用程序(游戏服务器)。我是否需要对其进行专门的编程,以便能够在多台机器上扩展1个应用程序,或者有专门的软件来使2-3台服务器充当单个服务器?
更新:我已经把登录服务器和游戏服务器分开了。服务器有一个所有玩家聚集在一起的地方,但没有这样的cpu工作。在最多的游戏线程中,玩家创建一个game -1线程。
据我所知,我需要编程应用程序才能在另一台服务器上创建游戏实例?
发布于 2012-08-15 16:11:06
您必须以这样一种方式对服务器进行编程,使其知道可能存在其自身的其他实例-例如,通过以这样一种方式获取任务的一部分作为其责任,使得其他实例将知道其他人正在执行该任务,而不会重复使用该任务。
对于负载平衡-有一些软件可以执行自动负载平衡,但只有在实际服务器支持的情况下,负载平衡才能正常工作。
发布于 2012-08-15 16:09:52
您需要在对其进行编程时考虑负载平衡。
如果你已经让它运行了,试着让尽可能多的东西成为可线程的,使它能够在多cpu/多核机器上使用额外的核心/额外的cpu。
然后看看将元游戏信息移动到单独的机器以处理登录信息等。
https://stackoverflow.com/questions/11965810
复制相似问题