网易游戏服务器开发框架 Pomelo

Pomelo 网易游戏服务器开发框架

MIT
JavaScript
跨平台
网易
2012-10-23
谢骋超

pomelo 是由网易开发的基于node.js开发的高性能、分布式游戏服务器框架, 也可作为高实时web应用框架。

Pomelo

Pomelo的应用范围

pomelo最适合的应用领域是网页游戏、社交游戏、移动游戏的服务端,开发者会发现pomelo可以用如此少的代码达到强大的扩展性和伸缩性。当然还不仅仅是游戏,很多人断言未来的web时代是实时web应用的时代, 我们发现用pomelo开发高实时web应用也如此合适, 而且伸缩性比其它框架好。目前不推荐将pomelo用于大型的MMO rpg游戏开发,尤其是3d游戏, 还是需要象bigworld这样的商用引擎来支撑。

Pomelo的理念

pomelo的第一个理念是让游戏(高实时web应用)服务器的开发变得非常简单, 而不是解决某类算法或系统上的难题。这个设计理念跟rails是很类似的;第二个理念是重视性能和可伸缩性,用户用pomelo开发出来的游戏天生具有很强的伸缩性,扩展也很容易。我们在性能优化上也花了很多功夫,并且会持续进行;第三个理念是让第三方很容易扩展,框架用了很多插件式的设计, 组件component、路由规则、甚至管理控制台都可以完全由第三方扩展。

Pomelo的框架组成

pomelo包括三部分:

  • 框架, pomelo的核心, 与以往单进程的游戏框架不同, 它是高性能、分布式的游戏服务器框架,并且使用很简单

  • 库, 包括了开发游戏的常用工具库, 如人工智能(ai), 寻路, aoi等

  • 工具包, 包括管理控制台, 命令行工具, 压力测试工具等

pomelo特性

  • 快速、易上手的游戏开发模型和api

  • 高可伸缩的多进程架构, 支持MMO的场景分区和其它各类分区策略

  • 方便的服务器扩展机制,可快速扩展服务器类型和数量

  • 方便的请求、响应、广播、服务器通讯机制, 无需任何配置

  • 注重性能,在性能、可伸缩性上做了大量的测试、优化

  • 提供了较多扩展组件,包括游戏开发常用的库和工具包

  • 提供了完整的MMO demo代码(客户端html5),可以作为很好的开发参考

  • 基于socket.io开发,支持socket.io支持的多种语言客户端

为什么使用pomelo?

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

  • 架构的可伸缩性好。 采用多进程单线程的运行架构,扩展服务器非常方便, node.js的网络io优势提供了高可伸缩性。

  • 使用非常容易, 开发模型与web应用的开发类似,基于convention over configuration的理念, 几乎零配置, api的设计也很精简, 很容易上手。

  • 框架的松耦合和可扩展性好, 遵循node.js微模块的原则, framework本身只有很少的代码,所有component、库、工具都可以用npm module的形式扩展进来。任何第三方都可以根据自己的需要开发自定义module。

  • 提供完整的开源MMO游戏demo参考(基于HTML 5)。 一个超过1万行代码的游戏demo,使开发者可以随时借鉴demo的设计与开发思路。

在线演示:http://pomelo.netease.com/demo.html

    加载中

    评论(11)

    wuguiman
    wuguiman
    https://my.oschina.net/u/3778604/blog/1618751
    孤火369
    孤火369
    有没有PC客户端 #Pomelo#
    红薯
    红薯
    #Pomelo# 的作者 @谢骋超 现在来了深圳,在 OSC 公司隔壁,哈哈
    打杂程序猿
    打杂程序猿
    pomelo 0.5 版本火爆发布啦 http://t.cn/zQbXpW0 Pomelo
    打杂程序猿
    打杂程序猿
    pomelo 常见问题集,基于github issue http://blog.gfdsa.net/2013/06/26/pomelo-faq/ Pomelo
    打杂程序猿
    打杂程序猿
    终于把,基于pomelo 的push server demo完善完了....https://github.com/youxiachai/pomelo-pushServer-Demo Pomelo
    红薯
    红薯
    网易开源项目 NEC NEJ Pomelo InnoSQL ,还有吗?
    打杂程序猿
    打杂程序猿
    Pomelo第三篇笔记终于磨了出来,看了一下不是写得很好,后边估计应该会重写这章http://t.cn/zHWEMcI Pomelo
    王振威
    王振威
    网易的Pomelo的demo刚才502了

    pomelo 1.0 preview版发布, 网易开源游戏服务器框架

    ## pomelo udpconnector提供 根据网友的要求,在pomelo 1.0中提供了udpconnector。在该udpconnector中,采用了pomelo之前hybridconnector提供的传输协议,包括握手、心跳及数据包的格式。该c...

    2014/05/16 13:50

    网易开源游戏服务器框架 pomelo 0.9 版发布

    pomelo 0.9版于2月26日发布,以下是该版本的新特性。 ## pomelo rpc支持zeromq通信 在pomelo 0.9中提供了基于zmq的rpc调用,开发者可以根据需要选择原有的pomelo-rpc或者pomelo-rpc-zeromq。...

    2014/02/27 10:43

    pomelo 0.8 发布,网易游戏服务器框架

    0.8 版本新特性 pomelo-cocos2d-jsb 对 cocos2d-x javaScript binding 环境有了支持,开发者可以很方便的使用 javaScript 来完成前后端的开发,并发布到 ios,android,web平台上 详细请看 po...

    2013/12/25 07:33

    Pomelo 0.7 版正式发布!

    在pomelo 0.7版本中,增加了用户自定义定时任务功能,用户能够在不同服务器中动态地增删定时任务;根据网友的建议,在0.7版中增加了全局filter的功能, 用户能够在前端服务器对请求进行统一处...

    2013/11/06 18:48

    网易开源项目 Pomelo 在欧洲演讲,引来广泛关注

    pomelo创始人谢骋超最近在两个世界顶级的js会议上演讲,分别是柏林的jsconf eu和里斯本的lxjs。这两个会议都是国际js界顶级会议,node.js就是在jsconf eu上诞生的。 会议演讲备受好评, 受到...

    2013/10/08 16:15

    网易开源游戏服务器框架 pomelo 发布 0.6 版

    pomelo 0.6是一次很大的升级, 是自0.3版以来最重要的一次升级 在Pomelo 0.6版本中,对pomelo部分结构进行了调整,将原有的globalChannel组件和master高可用组件从框架中移出,以一种插件的形...

    2013/08/26 14:59

    网易开源游戏服务器框架 pomelo 发布 0.5 版

    在0.5版本中,主要增强了Pomelo高可用的特性,包括master服务器的高可用和其它服务器的可配置自动重启,另外还提供一个全局的globalChannel和服务器进程与cpu绑定的功能。 ## master 高可用 ...

    2013/07/22 10:29

    pomelo 创始人谢骋超应邀去葡萄牙里斯本的lxjs做演讲

    pomelo在开源以后一直很广受关注,尤其在github上的走势相当良好, 半年内积累了1700多的watcher和近500的clone。 pomelo也逐渐受到了国外开源社区的牛人关注, 近日创始人谢骋超收到lxjs的邀...

    2013/06/17 11:45

    Pomelo 0.3 正式发布,网易游戏开发框架

    Pomelo 0.3版正式发布 Pomelo 0.3版为移动端性能优化做了很多工作, 新协议的数据包压缩后的传输量仅为0.2版的20%, 并保留了0.2版基于socket.io的传输协议。socket.io对开发浏览器端器端的实...

    2013/03/08 13:45

    没有更多内容

    加载失败,请刷新页面

    11
    回答
    历数2013年优秀的开源游戏引擎与开源游戏项目

    2013年是移动游戏爆发的一年,也是开源游戏爆发的一年!在这里,我们历数一下2013年都有哪些优秀的开源游戏诞生,还有哪些优秀的开源游戏技术解决方案诞生!...

    2014/01/15 11:29
    5
    回答
    当前的几种开源游戏服务端介绍

    当前的几种开源游戏服务端介绍 pomelo Pomelo 是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库...

    2015/02/02 09:57
    5
    回答
    几款游戏服务端研究之后的总结

    photon: 不怎么样,而且收费还不便宜,并不比开源引擎强, 同时鄙视收费。 scut:我使用过,对付非常简单的项目还行,提供的中间件几乎在上线项目都要...

    2015/01/25 12:27
    7
    回答
    请问网易在开发Pomelo项目时使用的是什么IDE?

    @谢骋超 你好,想跟你请教个问题: 请问网易在开发Pomelo项目时使用的是什么IDE? 是WebStorm吗?

    2014/03/14 11:53
    9
    回答
    网络游戏如何设计命令码?

    网络游戏服务器和客户端传送数据,在数据头部一般都会带上命令码来表示传播的是啥数据,这个命令码一般是给定长度的数字,出于方便管理考虑,一般希望某个类别的命令...

    2014/11/23 11:44
    6
    回答
    Centos6.3下搭建Pomelo部署环境 执行npm install -g命令有问题

    Centos6.3下搭建Pomelo部署环境 执行npm install -g命令有问题,求帮忙看看~ npm install -g npm http G...

    2014/05/06 17:46
    1
    回答
    JSON.stringify()的循环引用问题

    @谢骋超 你好,想跟你请教个问题: lordofpomelo中有如下代码中: Instance.prototype.addEntity = functio...

    2014/02/13 14:44
    5
    回答
    请教一个关于pomelo后台监控模块安装的问题 :( 折腾2天无法解决了。

    最近用pomelo来开发一个游戏的服务器端,在安装监控模块:pomelo-admin-web的时候,始终没法成功安装。 https://github.co...

    2014/01/16 16:58
    2
    回答
    pomelo,服务器主动断开连接的问题

    @谢骋超 你好,想跟你请教个问题: 最近正在使用pomelo框架开发一款游戏,想详细了解下pomelo的session管理的问题,服务器这边想实现一个功能...

    2012/12/21 10:03
    77
    回答
    【多图+PPT】OSC 杭州源创会图文总结

    杭州源创会的召集帖在这里。杭州源创会所有主题的 PPT 在这里。 说实话,这次举办杭州的源创会压力很大。原本只打算做200人的活动,由于网易提供的场地是3...

    2012/10/23 13:13

    没有更多内容

    加载失败,请刷新页面

    游戏开发--开源2---pomelo

    2. pomelo 这是有网易开发的基于node.js开发的高性能、分布式的服务器框架。也可以作为web高实时应用框架。 它的第一个理念是让游戏(高实时web应用)是让服务器的开发变得非常的简单,而不是解...

    2013/11/05 10:22
    65
    0
    mac os x 10.9 下安装pomelo

    配置 :OS X 10.9.4 + Xcode 6.0 摘要:本文目标为成功运行pomelo的HelloWorld程序。 一、安装Xcode及相关工具 1、安装Xcode。 2、安装相应版本的command line tools。 (打开终端,输入命令:...

    2015/02/16 10:33
    9
    0
    mac os x 10.9 下安装pomelo

    配置 :OS X 10.9.4 + Xcode 6.0 摘要:本文目标为成功运行pomelo的HelloWorld程序。 一、安装Xcode及相关工具 1、安装Xcode。 2、安装相应版本的command line tools。 (打开终端,输入命令:...

    2015/02/16 10:33
    27
    0
    mac os x 10.9 下安装pomelo

    配置 :OS X 10.9.4 + Xcode 6.0 摘要:本文目标为成功运行pomelo的HelloWorld程序。 一、安装Xcode及相关工具 1、安装Xcode。 2、安装相应版本的command line tools。 (打开终端,输入命令:...

    2015/02/16 10:33
    15
    0
    pomelo 的一些监控和维护插件(工具)

    POMELO 提供了非常多的插件,可以方便我们日常对其的一些操作和开发工作,同样的我们也可以自己开发一些定制的插件让其伴随整个POMELO的生命周期运作(这里 不是要介绍如何制作POMELO插件),...

    2015/02/16 10:32
    17
    0
    pomelo 的一些监控和维护插件(工具)

    POMELO 提供了非常多的插件,可以方便我们日常对其的一些操作和开发工作,同样的我们也可以自己开发一些定制的插件让其伴随整个POMELO的生命周期运作(这里 不是要介绍如何制作POMELO插件),...

    2015/02/16 10:32
    12
    0
    Pomelo架构浅析

    Pomelo架构浅析 1. pomelo简介: 网易在2012年11月开源的一个网游服务器框架,使用javascript作为开发语言,运行在node.js环境下。具体说明请查阅:https://github.com/NetEase/pomelo pomel...

    2013/03/01 16:51
    5.2K
    0
    用Pomelo 搭建一个简易的推送平台

    前言 实际上,个人感觉,pomelo 目前提供的两个默认sioconnector和hybridconnector 使用的协议并不适合用于做手机推送平台,在pomelo的一份公开ppt里面,有提到过, 网易的消息推送平台是基于pom...

    2013/06/18 02:36
    6.5K
    2

    没有更多内容

    加载失败,请刷新页面

    返回顶部
    顶部