一个基于appnet的游戏服务器架构
随着appnet功能的完善,支持异步任务的特性,可以将耗时的任务或独立的逻辑,addTask()投递到指定的进程task worker内处理。因此可以将游戏逻辑按功能分类,对于不需要交互的请求可以在主逻辑进程worker中直接处理并返回结果, 而对于需要交互的逻辑可以放到单独进程处理,并将结果直接发送给客户端。有需要的话,也可以使用taskCallback()回调主逻辑进程worker。这样做的好处主要有:
- 不需要每个worker都加载所有连接数据,主逻辑进程只需要加载当前进程的用户数据即可。
- 将不同的业务分发到不同的进程处理,也是提高了并发处理能力。
github: https://github.com/lchb369/appnet_php7
转载于:https://my.oschina.net/appnet/blog/670938