目前这套服务器架构如下:
1. 每个服务器启动的时候都会向 MasterServer 注册 (上传自己的 ip,port,servertype 等)
2.MasterServer 收到注册消息后广播该信息给连上它的所有服务器, 同时给该连上的服务器发送所有服务器的列表
3. 单点服务器收到列表后, 依据上面的 连接图 判断 并 进行相应的连接操作.
服务器的相关分工:
login: 负责登录处理, 分配 gate 服务器
gate: 负责广播消息体 --- 可以无限扩展
game: 负责管理玩家信息 --- 可以无限扩展
fight: 负责战斗逻辑 --- 可以无限扩展
room: 分配房间服务器
Q: 为何会有一个 Nginx
A: 对于微信小游戏而言, 使用的是 wss 协议, 我们都需要使用 nginx 代理中转为 ws 协议, 这个后面会详细解答.
来源: https://www.cnblogs.com/chesscode/p/10188996.html