`

Pomelo:网易开源基于 Node.js 的游戏服务端框架

 
阅读更多

本文链接:Pomelo:网易开源基于 Node.js 的游戏服务端框架

编译来源:梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源

 

  Pomelo 是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo 不但适用于游戏服务器开发, 也可用于开发高实时 Web 应用,它的分布式架构可以使 Pomelo 比普通的实时 Web 框架扩展性更好。

  

  

Pomelo 特性

  • 快速、易上手的游戏开发模型和api
  • 高可伸缩的多进程架构, 支持MMO的场景分区和其它各类分区策略
  • 方便的服务器扩展机制,可快速扩展服务器类型和数量
  • 方便的请求、响应、广播、服务器通讯机制, 无需任何配置
  • 注重性能,在性能、可伸缩性上做了大量的测试、优化
  • 提供了较多扩展组件,包括游戏开发常用的库和工具包
  • 提供了完整的MMO demo代码(客户端html5),可以作为很好的开发参考
  • 基于socket.io开发,支持socket.io支持的多种语言客户端

Pomelo 的框架介绍

  Pomelo Framework的组成架构如图所示:

 

pomelo框架
  • Server management, pomelo 是个真正多进程、分布式的游戏服务器。因此各游戏server(进程)的管理是pomelo很重要的部分,框架通过抽象使服务器的管理非常容易。
  • Network,请求、响应、广播、RPC、session 管理等构成了整个游戏框架的脉络,所有游戏流程都构建在这个脉络上。
  • Application, 应用的定义、component管理,上下文配置, 这些使pomelo framework的对外接口很简单, 并且具有松耦合、可插拔架构。

Pomelo 的架构设计目标

  • 服务器(进程)的抽象与扩展

  在 web 应用中, 每个服务器是无状态、对等的, 开发者无需通过框架或容器来管理服务器。 但游戏应用不同, 游戏可能需要包含多种不同类型的服务器,每类服务器在数量上也可能有不同的需求。这就需要框架对服务器进行抽象和解耦,支持服务器类型和数量上的扩展。

  • 客户端的请求、响应、广播

  客户端的请求、响应与 web 应用是类似的, 但框架是基于长连接的, 实现模式与 http 请求有一定差别。 广播是游戏服务器最频繁的操作, 需要方便的 API, 并且在性能上达到极致。

  • 服务器间的通讯、调用

  尽管框架尽量避免跨进程调用,但进程间的通讯是不可避免的, 因此需要一个方便好用的 RPC 框架来支撑。

  • 松耦合、可插拔的应用架构。

  应用的扩展性很重要, pomelo framework 支持以 component 的形式插入任何第三方组件, 也支持加入自定义的路由规则, 自定义的 filter 等。

为什么使用pomelo?

  高并发、高实时的游戏服务器的开发是很复杂的工作。跟 web 应用一样, 一个好的开源容器或开发框架可以大大减少游戏开发的复杂性,让开发变得更加容易。遗憾的是目前在游戏服务器开发领域一直没有太好的开源解决方案。 pomelo 将填补这个空白, 打造一款完全开源的高性能(并发)游戏服务器框架。 pomelo 的优势有以下几点:

  • 架构的可伸缩性好。 采用多进程单线程的运行架构,扩展服务器非常方便, node.js 的网络 io 优势提供了高可伸缩性。
  • 使用非常容易, 开发模型与web应用的开发类似,基于 convention over configuration 的理念, 几乎零配置, api 的设计也很精简, 很容易上手。
  • 框架的松耦合和可扩展性好, 遵循 node.js 微模块的原则, framework 本身只有很少的代码,所有 component、库、工具都可以用 npm module 的形式扩展进来。任何第三方都可以根据自己的需要开发自定义 module。
  • 提供完整的开源 MMO 游戏 demo 参考,一个超过1万行代码的游戏 demo,使开发者可以随时借鉴 demo 的设计与开发思路。

如何使用pomelo开发?

  通过以下参考资料将使我们很快地熟悉 pomelo 的全貌与开发过程:

  通过demo代码的学习将使你熟悉一个完整MMO游戏的开发:

您可能还喜欢

 

分享到:
评论

相关推荐

    nodejs 游戏服务端框架 pomelo_免编译版

    Pomelo是基于Node.js构建的游戏服务端框架,由网易公司开发并维护,它提供了完整的服务器端解决方案,包括网络通信、游戏逻辑处理、负载均衡、数据存储以及监控管理等模块。Pomelo以其高性能、可扩展性和模块化设计...

    基于Pomelo类棋牌游戏Node.js服务端.zip

    可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的...

    网易游戏高性能、分布式服务器开发框架 Pomelo.zip

    pomelo 是由网易开发的基于node.js开发的高性能、分布式游戏服务器框架, 也可作为高实时web应用框架。 Pomelo的应用范围 pomelo最适合的应用领域是网页游戏、社交游戏、移动游戏的服务端,开发者会发现pomelo可以...

    网易开源项目pomelo VS2010工程项目

    “网易开源项目pomelo”是一个高性能、分布式的游戏服务器框架,它主要用于构建实时多人在线游戏(MMO)服务端。该框架由网易公司开发并维护,采用C++语言编写,旨在提供高效、稳定和可扩展的解决方案。VS2010...

    pomelo使用手册

    Pomelo是一款高性能、开源的游戏服务器框架,由网易公司开发并维护,主要用于构建实时、多人在线游戏服务器。本手册旨在帮助新手快速理解和掌握Pomelo框架,同时也为经验丰富的开发者提供查阅特定功能的指南。 ### ...

    pomelo服务端脚本信息

    在IT行业中,Pomelo是一款高性能、分布式的游戏服务器框架,主要由网易开发并开源。它专为实时多人在线游戏设计,支持多种脚本语言,如JavaScript、Python等,以实现灵活的服务端逻辑。本文将详细讲解Pomelo服务端...

    js_server:JavaScript 服务器框架

    描述中的“pomelo”是一个提及的关键词,它是一个开源的、高性能的Node.js游戏服务器框架。Pomelo提供了一套完整的开发工具和解决方案,包括快速开发、高效部署、实时监控和扩展性优化。命令“pomelo < 8>= 8.0 ...

    chatofpomelo-websocket.rar

    Pomelo是一款开源的、高性能的、分布式的游戏服务器框架,由NetEase(网易)开发并维护。它基于Node.js,适用于构建大型多人在线(MMORPG)游戏服务器,但同样适用于任何需要高并发、低延迟实时应用的场景。Pomelo强调...

    poker:cocos creator 2.0.10+pomelo 德州扑克

    Pomelo是一个开源的网络游戏框架,由Node.js编写,专为实时多人在线游戏设计。它提供了高效的网络通信、灵活的架构以及丰富的游戏开发工具,可以帮助开发者快速构建网络游戏。 【标签】"JavaScript"表明游戏的...

Global site tag (gtag.js) - Google Analytics