Pomelo 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Pomelo 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: 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

    展开阅读全文

    代码

    Pomelo 的相关博客

    pomelo

    pomelo架构概览 pomelo之所以简单易用、功能全面,并且具有高可扩展性、可伸缩性等特点,这与它的技术选型和方案设计是密不可...

    pomelo命令行管理pomelo项目

    之前一直用pm2管理nodejs项目和pomelo项目,直到前天我用pm2启动pomelo项目之后,pm2下面的所有项目全部挂掉了。 于是老大一气...

    pomelo中的next

    经常看到参数中有next,该函数是客户端的rpc通常第一个参数为null 服务端完成服务后,调用 next(null, {msg:"欢迎进入游戏"})...

    Pomelo架构浅析

    Pomelo架构浅析 1. pomelo简介: 网易在2012年11月开源的一个网游服务器框架,使用javascript作为开发语言,运行在node.js环境...

    mac下安装pomelo

    壹、| 安装必要项   一、安装Xcode及相关工具 1、安装Xcode。 2、安装相应版本的command line tools。 下载command line to...

    pomelo的session

    更多信息请参考源码sessionRemote.js和 sessionService.js session(会话)是保存在服务端的会话。 session的使用 session.bi...

    pomelo链接mysql

    本文基于上一篇博文(pomelo新建一个服务类型) 需求:玩家购买物品够添加到数据库中,以保存数据 准备工作: 已安装mysql 的...

    pomelo 服务器框架

    pomelo是由网易使在node.js基础上编写的服务器框架,其特点为简单易用、功能全面,并且具有高可扩展性、可伸缩性等。 具体介绍...

    评论 (14)

    加载中
    这个已经被淘汰了,现在我们都切换到pinus了
    2019/09/22 22:57
    回复
    举报
    倒闭了吧,官网没了,github不维护了
    2019/04/09 20:54
    回复
    举报
    小编是个大SB, 已经关闭的,还例出来。
    2019/09/22 22:58
    回复
    举报
    https://my.oschina.net/u/3778604/blog/1618751
    2018/02/05 19:43
    回复
    举报
    网易的Pomelo网站的demo,load不出来啊,难道是大家都在试玩?
    2012/11/21 09:47
    回复
    举报
    网易的Pomelo的demo刚才502了
    2012/11/21 09:56
    回复
    举报
    Pomelo第三篇笔记终于磨了出来,看了一下不是写得很好,后边估计应该会重写这章http://t.cn/zHWEMcI Pomelo
    2013/06/08 07:34
    回复
    举报
    网易开源项目 NEC NEJ Pomelo InnoSQL ,还有吗?
    2013/06/14 12:32
    回复
    举报
    2013/06/17 17:16
    回复
    举报
    终于把,基于pomelo 的push server demo完善完了....https://github.com/youxiachai/pomelo-pushServer-Demo Pomelo
    2013/06/26 02:50
    回复
    举报
    pomelo 常见问题集,基于github issue http://blog.gfdsa.net/2013/06/26/pomelo-faq/ Pomelo
    2013/06/27 04:03
    回复
    举报
    更多评论
    14 评论
    731 收藏
    分享
    返回顶部
    顶部