Actor模式下的大厅服务器功能设计概述
2017-07-20 本文已影响0人
小星星幼儿园
服务器基于skynet开源引擎设计。skynet基于actor模式的思想,所有的业务逻辑都是通过服务的形式协同工作。对于每个连接进来的玩家,会起一个agent服务专门处理这个玩家的业务。除了agent外,会有很多公共的服务来处理全局的业务。每个服务都在独立的lua虚拟机环境下运行。服务之间通过消息的形式交互。
其中,wait_*类服务是会和中心服务器产生交互的服务。和中心服务器的交互的消息通过normal_cmsg服务中转。
每个服务都有一个消息队列,服务通过处理消息来完成业务逻辑。
服务之间通过send或者call发送消息,send没有返回消息,call需要返回消息。
服务器大部分的业务逻辑在agent内完成,基本的代码结构和逻辑关系如下图所示。