- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pomelo介绍 Pomelo的组成架构如图所示: pomelo介绍 pomelo的架构设计目标: ? 服务器(进程)的抽象与扩展 在 web 应用中, 每个服务器是无状态、对等的, 开发者无需通过框架或容器来管理服务器。 但游戏应用不同, 游戏可能需要包含多种不同类型的服务器,每类服务器在数量上也可能有不同的需求。这就需要框架对服务器进行抽象和解耦,支持服务器类型和数量上的扩展。 ? 客户端的请求、响应、广播 客户端的请求、响应与 web 应用是类似的, 但框架是基于长连接的, 实现模式与 http 请求有一定差别。 广播是游戏服务器最频繁的操作, 需要方便的 API, 并且在性能上达到极致。 ? 服务器间的通讯、调用 尽管框架尽量避免跨进程调用,但进程间的通讯是不可避免的, 因此需要一个方便好用的 RPC 框架来支撑。 ? 松耦合、可插拔的应用架构。 应用的扩展性很重要, pomelo framework 支持以 component 的形式插入任何第三方组件, 也支持加入自定义的路由规则, 自定义的 filter 等。 pomelo介绍 1、前端服务器的职责: ?负责承载客户端请求的连接 ?维护session信息 ?把请求转发到后端 ?把后端需要广播的消息发到前端 2、后端服务器职责: ?处理业务逻辑, 包括RPC和前端请求的逻辑 ?把消息推送回前端 服务器的抽象与分类 该架构把游戏服务器做了抽象, 抽象成为两类:前端服务器和后端服务器, 如图: pomelo介绍 图中的connector, area, chat三个目录代表三类服务器类型, 每个目录下的handler与remote决定了这个服务器的行为(对外接口)。 开发者只要往handler与remote目录填代码, 就可以实现某一类的服务器。这让服务器实现起来非常方便。 服务器抽象的实现 利用目录结构与服务器对应的形式, 可以快速实现服务器的抽象。 pomelo介绍 服务器抽象的实现 填一份配置文件servers.json就可以让服务器快速动起来。配置文件内容如下所示: pomelo介绍 客户端请求与响应、广播的抽象介绍 所有的web应用框架都实现了请求与响应的抽象。尽管游戏应用是基于长连接的, 但请求与响应的抽象跟web应用很类似。下图的代码是一个request请求示例: 请求的api与web应用的ajax请求很象,基于Convention over configuration的原则, 请求不需要任何配置。 pomelo介绍 客户端请求与响应、广播的抽象介绍 所有的web应用框架都实现了请求与响应的抽象。尽管游戏应用是基于长连接的, 但请求与响应的抽象跟web应用很类似。下图的代码是一个request请求示例: 请求的api与web应用的ajax请求很象,基于Convention over configuration的原则, 请求不需要任何配置。 pomelo介绍 服务器间RPC调用的抽象介绍 架构中各服务器之间的通讯主要是通过底层RPC框架来完成的,该RPC框架主要解决了进程间消息的路由和RPC底层通讯协议的选择两个问题。服务器间的RPC调用也实现了零配置。实例如下图所示: pomelo介绍 pomelo支持可插拔的component扩展架构 component是pomelo自定义组件,开发者可自加载自定义的component。 component在pomelo框架参考将有更深入的讨论。以下是component的生命周期图 用户只要实现component相关的接口: start, afterStart, stop, 就可以加载自定义的组件:app.load([name], comp, [opts]) 开发实例 捡宝Demo 玩家在单一场景中检取宝物,获得积分 支持多玩家 实时记录并刷新积分 开发实例-捡宝Demo 捡宝Demo 开发实例-捡宝Demo 搭建Demo 初始化Pomelo项目 构建场景服务 使用Pomelo进行通信 服务架构扩展和分析 开发实例-捡宝Demo 初始化工程 安装pomelo 初始化工程 开发实例-捡宝Demo 服务端目录结构 Connector 服务器 服务端代码 配置文件 服务端入口 客户端代码 开发实例-捡宝Demo 编写场景服务 场景是游戏世界在服务端的抽象 场景地图 人物 宝物 游戏可以很复杂,也可以很简单 在捡宝 demo中,场景就是游戏地图、玩家和其中的宝物 开发实例-捡宝Demo 编写场景服务 Driven 这些服务要在哪里运行呢? 开发实例-捡宝Demo 加入新的服务器类型 开发实例-捡宝Demo 启动场景服务 服务端,写完了? 等会儿,客户端还没收到信儿呢? 开发实例-捡宝Dem
您可能关注的文档
- 第2章空域增强——点操作例析.ppt
- 基金如何定投及定投什么基金好例析.ppt
- 基坑支护工程(喷锚)监理细则例析.ppt
- 离心机危险有害因素辨识答案.ppt
- 蔓越莓饼干试卷.ppt
- 基于8086的微机原理2012例析.ppt
- 农家乐经营与管理试卷.ppt
- 基于Cortex-M3的条形码打印设计演讲稿例析.ppt
- 基于DSP的主动噪声抵消装置例析.ppt
- 基于GIS的东北地区铁路运输空间极化动力机制例析.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
最近下载
- 广东梅州市嘉城建设集团有限公司招聘笔试题库2025.pdf
- 危险化学品的分类和品种目录.docx VIP
- 2024辽宁农业科学院所属事业单位招聘30人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 《电子CAD技术》教学课件:第4章 印制电路板设计基础.ppt VIP
- 老年患者临床营养管理服务规范--公布版2022.5.2.(1).pdf VIP
- 2019人教版小学六年级数学上册全册教案.docx VIP
- 高维之境:图模型与多变点检测的统计推断新探.docx
- 广东嘉城建设集团有限公司及其下属公司招聘笔试题库2025.pdf
- 河北省生产经营单位安全培训教育档案(最新版-冀应急人(2019)50号).docx VIP
- 加强医德医风建设的重要性.docx
文档评论(0)