Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

brinkqiang2cpp/Pebble

Repository files navigation

分布式开发框架Pebble使用说明


##简介 Pebble是一个分布式开发框架。基于该框架,可以让开发者只需专注于业务逻辑的实现,而不需要关注基础功能的开发,如网络通信,数据存储,集群管理等。使用pebble配套的运营系统,可方便的进行游戏开区开服,版本升级,扩容缩容等操作。

当前发布的Pebble版本,是一个Linux平台C++版本的后台开发框架。整个分布式开发框架包括:服务管理、集群管理、RPC通信、协程、广播、进程框架。

  • 服务管理:有了服务管理功能,客户端无需手工配置服务器端的地址即可通信。每一个服务(service)都有一个唯一的名字,服务由一组具体的函数组成,每个服务器进程可以管理多个服务。我们使用ZooKeeper来帮助完成服务和集群状态管理:使用Pebble框架,服务端可方便的将服务的地址注册到ZooKeeper,客户端根据服务名字可方便的从ZooKeeper获得服务器地址。

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

  • RPC通信:RPC(Remote Procedure Call,远程过程调用),可以让开发者基于接口编程,更加专注于业务逻辑。借用于接口描述语言(IDL)和工具,可以自动生成客户端和服务器端的接口代码,服务器按需实现自己的业务逻辑,客户端只需要按接口调用。双方均无需要关心协议编解码、网络发送的细节,减轻了开发量的同时也减少出错的可能。

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

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

  • 进程框架:它是一个单线程的开发框架,集成了上述功能。使用我们的框架,只需要调用少量接口,即可快速开发出游戏后台server。


Copyright ©1998 - 2015 Tencent. All Rights Reserved.

腾讯公司 版权所有

About

Pebble分布式开发框架

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.1%
  • Python 9.5%
  • C# 5.1%
  • Lex 2.9%
  • C 2.7%
  • Makefile 2.3%
  • Other 1.4%

AltStyle によって変換されたページ (->オリジナル) /