ImageVerifierCode 换一换
格式:PPT , 页数:40 ,大小:1.61MB ,
资源ID:389240      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-389240.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于node.js的高可扩展游戏服务器框架设计与实现.ppt)为本站会员(appealoxygen216)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

基于node.js的高可扩展游戏服务器框架设计与实现.ppt

1、基于node.js的高可扩展游戏服务器框架 设计与实现,周永昶 ,提纲,Node.js与游戏服务器 游戏服务器框架的可扩展性 游戏的可扩展性 框架的可扩展性,Node.js与游戏服务器,Pomelo 定位 Web,社交,Mobile游戏服务器 目标 简化游戏开发,https:/ Node.js is a platform built on Chromes JavaScript runtime for easily building fast, scalable network applications. Node.js 特性 服务器端js 事件驱动,异步IO 单线程 轻量 快速开发,Node.

2、js与游戏服务器,为什么用node.js 优势 IO 可扩展性 Javascript 社区 不足 CPU密集计算,游戏服务框架的扩展性,为什么扩展? 如何扩展? 游戏服务器的特性 框架的特性,游戏服务器的扩展性,Web服务器 短连接 无状态 无限水平扩展,游戏服务器的扩展性,游戏服务器 长连接 有状态 响应时间100ms 有策略的扩展,游戏服务器的扩展性,单服架构 所有处理均在一个进程内完成 优点:简单 缺点:扩展难度较大,游戏服务器的扩展性,模块化架构 将场景分离出来 游戏世界随场景进行扩展 设计和维护复杂,游戏服务器的扩展性,BigWorld架构 无缝地图,无限大的世界 强大的负载均衡,游

3、戏服务器的扩展性,游戏服务器架构发展趋势,游戏服务器的扩展性,扩展的策略 多进程单线程 避免线程间的并发问题 单一进程负责单一服务 进程间通过消息进行通讯 以服务为单位进行功能扩展 使得游戏世界的扩展更容易,游戏服务器的扩展性,扩展的策略 服务器的类型与数量 服务器类型为模板 服务进程为实例 以实例的数量进行水平扩展 更合理的分配资源,游戏服务器的扩展性,扩展的策略 场景的分区策略 避免分布式的状态同步 以场景为单位分区 场景内所有状态在同一个进程(玩家,怪物,NPC等) 无状态的服务可以分离出来(寻路等),游戏服务器的扩展性,Demo,http:/ 游戏服务器是一个整体 将问题分解,简化 灵

4、活扩展,合理分配资源 从头开发比较复杂,框架的扩展性,设计目标 支撑游戏服务器的架构模型 简化游戏服务器开发,框架的扩展性,考虑的问题 服务器整体规划 单个服务进程的规划 业务逻辑的实现和扩展 框架的通用性,服务器的整体规划,服务器整体规划 服务进程的类型 可能会有很多种类型的进程 不同的类型可能有不同的特性 服务进程的数量 不同类型的进程可能分配不同的数量,提取服务器的共性,服务器的整体规划,服务器的抽象,frontend,frontend,backend,backend,backend,backend,forward message,push message by channel,rpc,

5、master,服务器的整体规划,Frontend Server 承载客户端连接 维护session信息 将请求分发给后端服务器 向客户端推送消息,服务器的整体规划,websocket,rpc,before,after,dispatcher,handler,remote,session,filter,服务器的整体规划,Backend Server 接收前端分发的请求 实现业务逻辑 提供远程服务 通过channel向客户端推送消息,服务器的整体规划,rpc,before,after,dispatcher,handler,remote,channel,filter,服务器的整体规划,服务类型的定制,

6、frontend,backend,基于websocket的server,提供rpc服务的server,area,chat,status,connector,服务器的整体规划,实现策略:惯例优先 按服务器类型划分目录 handler实现请求处理逻辑 remote实现远程调用接口 一个工程管理所有代码 开发者只要填空就可以了,server type,服务器的整体规划,配置文件指定实例数量,服务进程的规划,单个服务进程的规划 进程对外的服务能力 服务的能力应该怎么获得 能力的复用:继承 or 组合,服务进程的规划,组件系统 组件是服务的功能单元 将组件组合到一起让进程具有相应的能力 组件间通过一个统

7、一的上下文进行协作 将大软件分解为小模块,服务进程的规划,基于组件的扩展,app,handler,rpc proxy,rpc server,connector,client,remote peer,client,client,服务进程的规划,组件的生命周期,服务进程的规划,不同层次的抽象,connector,area,chat,status,frontend,backend,core,container,component,业务逻辑的实现与扩展,业务逻辑的实现 客户端请求的处理 RPC的处理,客户端请求,服务流程的扩展 业务逻辑与前/后置逻辑分离 Handler实现业务逻辑 Filter负责前/后置逻辑,是服务流程的扩展点,RPC,RPC的作用 服务器间通讯的基础 隐藏底层通讯的细节 考虑的问题 多进程间通讯 路由控制 协议切换,RPC,RPC Client,RPC,RPC Server,Q&A,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1