Go游戏服务器开发的一些思考(十六):IO游戏服务器架构
来源:互联网 发布:数据安全保密制度 编辑:程序博客网 时间:2024/05/17 02:58
服务器架构类型
本系列第3章中,有段落简单介绍过 服务器架构类型。对于IO游戏来说,通常会是大区大服类型
本文将详细介绍,大区大服类型的服务器架构
架构图
- 后缀(N),代表可以多开
- 绿色框,代表各类服务都会去连接
- 黄色框,代表各类服务有需求的都会去连接
- 虚线,代表用到时连接
- 实线,代表长连接
以上为一个IO游戏服务器架构的最小架构集
最小架构集
- Login,负责登录逻辑
- Room,负责核心房间玩法
- Base,负责个人业务逻辑
- NodeMgr,负责节点管理,服务发现
- Hub,负责转发跨节点消息
- Cache,玩家数据中心(运行时)
- DB,玩家数据中心(持久化)
架构特点
引入Cache服务节点
- 去中心化(其他节点)
- 无状态化(其他节点)
- Cache节点的可靠性需保证
引入NodeMgr服务节点
- 去复杂配置
- 动态增减节点
- 节点自发现
引入Hub服务节点
- 简化服务器间连线
引入Login、Base服务节点
- 争取最大限度的业务逻辑复用
引入Room服务节点
- 核心玩法修改地,即细节基本无法复用的所在地
其他小众业务逻辑
- 新增服务类型节点
阅读全文
0 0
- Go游戏服务器开发的一些思考(十六):IO游戏服务器架构
- Go游戏服务器开发的一些思考(二十六):Go Redis ORM库
- Go游戏服务器开发的一些思考(十四):IO游戏同步(二)
- Go游戏服务器开发的一些思考(十七):IO游戏同步(三)
- Go游戏服务器开发的一些思考(十一):IO游戏同步
- Go游戏服务器开发的一些思考(十九):服务器架构之服务发现
- Go游戏服务器开发的一些思考(七):Redis
- Go游戏服务器开发的一些思考(二十一):Go语言的两处脑残设定
- Go游戏服务器开发的一些思考(二十三):Go语言Log库封装技巧
- Go游戏服务器开发的一些思考(十三):behavior3go的一些坑(备忘)
- Go游戏服务器开发的一些思考(五):goroutine看似美好的陷阱
- Go游戏服务器开发的一些思考(二十五):Redis的Docker Swarm部署
- Go游戏服务器开发的一些思考(二):综合考察(上)
- Go游戏服务器开发的一些思考(三):综合考察(中)
- Go游戏服务器开发的一些思考(四):综合考察(下)
- Go游戏服务器开发的一些思考(十八):Docker内网环境搭建(备忘)
- Go游戏服务器开发的一些思考(一):语言层面
- Go游戏服务器开发的一些思考(六):Docker Swarm Mode
- 设计模式C++学习笔记之二(Proxy代理模式)
- [Java]从今天开始,每天记录一点点
- win64 python安装PIL出错
- java基本数据类型和数组
- ubuntu16.04用root用户登陆图形界面
- Go游戏服务器开发的一些思考(十六):IO游戏服务器架构
- python基础学习第一天
- WAMP下Phalcon和Phalcon Developer Tools的安装
- java语言程序设计基础 第十一章 继承11.2
- 2017-10-11
- 出现次数超过一半的数
- 雪碧图/精灵图
- Eclipse创建Maven Web Project
- 银行家算法