online游戏服务器架构--网络架构
启动:父进程启动;子进程启动;网络架构。 每个父进程携带N个子进程,子进程负责处理业务逻辑和其它数据,而父进程只是将客户端的请求路由到各个子进程,路由的策略非常简单,父进程将请求包按照轮流的法则分发到这N个子进程。 子进程接收到请求包的时候,它便开始处理,处理完后再将结果反还给父进程。注意,子进程并不处理网络连接,它并不知道请求包的源的信息,它只处理业务,相反地,父进程并不知道请求包的内容,它的任务就是处理连接。 父子进程之间通过共享内存进行通信,具体来讲就是父进程将请求包放入和对应子进程共享的内存中,然后通过一个管道唤醒子进程,子进程探测到管道消息以后就从共享内存将请求拉出来然后进行处理,处理完毕后再将结果放回到共享内存,然后同样唤醒父进程,父进程被唤醒之后便拉出子进程的回复数据,最后通过它自己保存的连接返回给客户端。 这个服务器解除了接收数据和处理数据之间的耦合,便于进行任何一边的扩展,不像那种消息映射服务器,直接在本进程内部通过分发回调函数来处理业务逻辑,或者用线程的方式进行处理,线程的方式虽然解决了吞吐量的问题,但是无法解决稳定性的问题,必须默认所有的数据都是安全的或者开发出繁...