微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pebble 分布式开发框架

程序名称:Pebble

授权协议: BSD

操作系统: 跨平台

开发语言: C/C++

Pebble 介绍

Pebble定位为一个好用、可靠、高性能、易扩展的分布式开发框架,支持多种使用方式:

  • 使用完整的pebble框架
  • 独立使用各pebble子模块
  • 在其他框架中嵌入pebble框架。

Pebble具备良好的扩展性,可非常方便的扩展对接现有系统。基于该框架,可以让开发者只需专注于业务逻辑的实现,而不需要关注基础功能的开发,如网络通信,数据存储,集群管理等。使用pebble配套的运营系统,可方便的进行游戏开区开服,版本升级,扩容缩容等操作。

功能

  • 通信 :提供了基于消息的通信接口,自带TCP/UDP网络库,用户可方便的对接到其他网络库或消息队列服务。

  • 服务管理 :有了服务管理功能,客户端无需手工配置服务器端的地址即可通信。每一个服务(service)都有一个唯一的名字,服务由一组具体的函数组成,每个服务器进程可以管理多个服务。Pebble提供了名字服务接口,使用Pebble框架,服务端可方便的将服务地址注册到名字服务器,客户端可以方便的从名字服务器拉取到服务的地址信息。我们提供了基于ZooKeeper的名字服务参考实现,用户也可以很方便的扩展自己的名字服务。

  • 集群管理 :基于Zookeeper的名字服务实现,服务进程启动后,会自动与ZooKeeper之间维持心跳。客户端会定时从ZooKeeper获取服务器端的地址信息,一旦服务进程故障,客户端会自动将其从服务列表中去除。同理,增加服务进程也是一样。从而可方便的实现集群状态管理,可方便的对服务器进行扩容和缩容。

  • RPC :同时支持Thrift和ProtoBuf两种IDL,一致的RPC编程接口,支持同步、异步、并行调用用户可以很方便的扩展支持其他IDL。

  • 协程 :协程可降低异步代码的复杂度,让代码看起来像同步一样,同时具有异步的性能。开发框架很好的集成了协程的功能,RPC服务处理认在一个协程里面。当服务器端收到客户端的RPC请求时,系统会自动为你创建协程,请注意不要调用阻塞操作。如果要调用阻塞操作,需要将其修改为以协程的方式调用,否则整个server的处理能力会受到影响。

  • 广播 :广播是游戏业务的一个常见需求。pebble支持服务器端server之间的广播,也支持多服务器与多手机客户端之间的广播。无论是手机客户端还是后台服务器,只要大家加入一个相同的频道(channel),就可以做到一呼百应。广播功能是在RPC的基础上实现,所以它的编程体验与RPC是一致的。

  • 进程框架 :它是一个单线程的开发框架,集成了上述功能。内置统计上报、过载保护、控制命令等功能,使用我们的框架,只需要调用少量接口,即可快速开发出游戏后台server。

  • 配套工具自带了控制命令工具,方便集中运维与调试。

Pebble 官网

https://github.com/Tencent/Pebble

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐