分布式开发框架 Pebble-RPC

BSD
C/C++ 查看源码»
Linux
腾讯
2016-09-06
局长

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

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

利用PebbleJS写pebble手表应用

这个月初,任性买了刚发布的pebble time,一直还没写个应用,这个周末抽出时间看看。 我得github http://gongbaodd.github.io/

2015/08/25 18:02
76
0
mac 安装 pebble sdk

离线开发环境搭建

2016/06/01 14:15
44
0
超越Web,Javascript在物联网的应用

Patrick Catanzariti 是一名Web开发工程师,最近他在 sitepoint 发表了《JavaScript Beyond the Web in 2014》,介绍了JavaScript在物联网中的应用,非常有意思。做为JavaScript的爱好者和从...

2014/10/15 10:25
251
0
使用Linux脚本对无线网络进行管理

使用Linux脚本对无线网络进行管理 本文为 兄弟连IT教育 www.itxdl.cn 机构官方 Linux培训 教程,主要介绍使用Linux脚本对无线网络进行管理 为您的办公室或邻居设置一个无线的 Internet 服务提...

2016/10/10 13:52
4
0
【ME - Mail】之Java Mail

Java Mail 参考示例 biezhi/oh-my-email journaldev.com 从这开始吧 1. 编辑:mail.properties文件中相关值 mail.smtp.user= mail.smtp.from= mail.smtp.password= 2. pom.xml <dependency> ...

05/14 15:33
3
0
【 开源公告 】 Android 轻应用开发组件 RapidView 正式开源

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯开源 RapidView RapidView是一套用于开发Android客户端界面、逻辑以及功能的开发组件。布局文件(XML)及逻辑文件(Lua)可...

2017/11/24 16:06
64
0
Hadoop中RPC机制详解之Client端

Hadoop 中 RPC 机制建立在 Java 的动态代理, NIO 之上, 下面将以跟踪源码的方式, 解读 Hadoop 中 RPC 机制

2016/05/05 20:44
292
1
RPC 远程过程调用协议

远程过程调用协议 编辑 同义词 RPC一般指远程过程调用协议 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络...

2016/06/02 10:20
21
0
Hadoop中RPC机制简介

Hadoop中RPC机制建立在Java的Proxy(动态代理), NIO基础上, 我们可以在Client端调用Server端方法, 就像调用本地方法一样

2016/04/16 20:54
460
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部