服务端开发笔记二:基于pomelo的分布式手游架构

原文来自:http://blog.csdn.net/xufeng0991/article/details/45541185 尊重原创,转载请注明出处。


经过了一个周的时间,新项目的基本结构已经大体确定,拿来给大家分享。


一 基础概念

在说明手游服务器架构之前,一下几点须知。
1 我们的服务器集群分为前端服务器和后端服务器。
前端服务器:负责接收前端请求,实际上只有两个gate和connector;
后端服务器:负责后端服务器相互调用,如auth,area;
虽然在我们写路由的时间直接写的是area中handler下文件中的方法,
但是这是通过connector间接调用的,不要认为area是前端服务器。

2 对于每个单独的服务器,一般由三个可选的部分组成。
handler
这里面文件中的方法,前端可以通过路由调用;
handler中方法参数固定:function(msg,session,next)
msg为客户端要传递的参数,格式为json
session由pomelo自动传递

next(null,{route:msg.route}),null代表错误信息,没错误信息,就返回null


remote

这里面的方法是服务器之间相互调用的;
rpc调用传递的第一个参数session,主要用于计算出路由。


filter
在处理请求之后(beforeFilter)和之后(afterFilter)做一些处理。

3 数据共享domain
无论是handle还是remote,他们都只是提供接口,真正的逻辑处理是放在domain中的。

二 服务器架构

如下为我们新项目的服务器架构:

1 gate

链接gate服务器,返回connector服务器host和port;


2 connector

根据获得的host和port链接connector服务器;
在connector服务器中远程调用auth服务器认证用户;
认证成功之后绑定session,将用户加入到一个area服务器,返回登录结果。


3 auth

查询数据库,创建角色,查询角色等;


4 area

handler:提供前端请求接口
remote:提供后端请求接口


5 domain

分模块处理各个逻辑,如area模块保存当前area服务器中的玩家,entity保存用户对象信息等等。


代码就不上传了,想要的私聊我吧。

你可能感兴趣的:(服务器,手游)