pomelo扩展模式二

上次我们讨论了pomelo的一种扩展方式,隔离式的扩展,这次我们讨论非隔离试的扩展。

假设与上期一致。当初期玩家不多的时候一个前台可以承载N个人(假设N=100),但是随着人越来越多,那么这个前台就承载不了了,比如第N+1人进来时候如何处理呢?

这种扩展方式通过笔者实践是可以满足同一个后台里面的玩家进行通讯的。

意思就是A玩家在cs1上,B玩家在cs2上,他们都在bk1上,此时A玩家是可以直接与B玩家交流的。

因为pomelo是分布式的,可以将bk1放置到一个性能强悍的服务器上,而cs可以放到性能差点的机器上,因为它是可以扩展出来的,这样子的话理论上可以支持的人数将非常的多,多开一个cs就可以多支撑N个人,若开10个cs就可以支持10*N个人,近千人了。只要bk上的服务器性能和连接扛得住就可以进行扩展。

回过头来看pomelo的官方例子,它里面只合适了一个connector,就是这个意思,这个connector里面有3种不同的handler文件,这些文件处理不同的转发,有角色选择的,有在游戏中的等等。

至此,使用pomelo的扩展方案已经全部例举,这些扩展都依靠稳定的route算法进行保障。

大家可以利用pomelo的扩展机制搭建自己的游戏服务器了。

https://www.processon.com/i/568c6ea4e4b0e51d149a085f

这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐

时间: 2024-10-15 02:50:21

pomelo扩展模式二的相关文章

Java经典23种设计模式之结构型模式(二)

接上篇,本文介绍结构型模式里的组合模式.装饰模式.外观模式. 一.组合模式(Composite) 组合模式:将对象组合成树形结构,表示"部分--整体"的层次结构.最终达到单个对象和组合对象的使用具有一致性.单看这句话貌似有点抽象,其实比较简单. 以李云龙的独立团为例,目的要统计赵嘉宇一战共歼灭敌人多少个.最高的级别是团,一个团有若干个营,一个营有若干个排,一个排有若干个战士.(为了简化问题,排下面就不设行政单位了).很自然的,李云龙给营长开会回去给老子统计.营长回去给各个排长开会,赶紧

浅析Thinkphp框架中运用phprpc扩展模式

浅析Thinkphp框架中应用phprpc扩展模式 这次的项目舍弃了原来使用Axis2做web服务端的 方案,改用phprpc实现,其一是服务端的thinkphp已集成有该模式接口,其二是phprpc传输的数据流相对于普通WebService中的 XML或JSON形式的数据量明显减少,而且因为数据量的关系解析速度明显比较快~~ 说实话,以前还真不知道有phprpc这个协议的,本打算使用 sina的api的restlet形式开发,但自己写库的话会花比较多的时间,而现在轻量级的php框架支持rest

微信扫描支付订单数据生成类[模式二]

* *必要条件: *1.微信公共号 *2.微信公共号APPID *3.微信公共号 [微信支付] 绑定的 商户号MCH_ID *4. 微信公共号 商户支付密钥 * * 支付流程: * 1.调用统一下单,取得code_url,生成二维码 * 2.用户扫描二维码,进行支付 * 3.支付完成之后,微信服务器会通知支付成功 * 4.在支付成功通知中需要查单确认是否真正支付成功 业务流程说明: (1)商户后台系统根据用户选购的商品生成订单. (2)用户确认支付后调用微信支付[统一下单API]生成预支付交易:

C++设计模式之建造者模式(二)

3.省略指挥者Director的建造者模式 指挥者类Director在建造者模式中扮演非常重要的作用,简单的Director类用于指导具体建造者如何构建产品,它按一定次序调用Builder的buildPartX()方法,控制调用的先后次序,并向客户端返回一个完整的产品对象.Direcotr针对抽象的建造者进行编程,如果需要不同的建造者,只需把建造者传入指挥者类,无需修改之前的代码. 在有些情况下,为了简化系统结构,可以省略指挥者Director,指挥者不再指导产品的创建过程.而是在Builder

浅析JAVA设计模式之工厂模式(二)

1 工厂方法模式简介 工厂方法 (Factroy Method) 模式:又称多态性工厂模式(Polymorphic Factory),在这种模式中,核心工厂不再是一个具体的类,而是一个抽象工厂,提供具体工厂实现的接口,具体创建产品交由子工厂去做,抽象工厂不涉及任何产品被实例化的细节.而不同等级的产品,就对应一个不同等级的工厂,如下图. 图1 1.1工厂方法模式(多态性工厂模式): 工厂方法模式有三个角色: 1. 抽象产品接口 2. 具体产品类 3. 抽象工厂接口 4.具体工厂类. 1.2工厂方法

设计模式之工厂模式 (二)

工厂模式分为三大类 简单工厂(SimpleFactory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 动态工厂(Dynamic Factory,属于优化版简单工厂) 一.简单工厂 组成如下: (1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑.在java中它往往由一个具体类实现. (2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口.在java中由接口或者抽象类来实现. (3) 具体产品角色:工厂类所创建的对象就是此

微信二维码支付native原生支付开发模式二

模式一相比,流程更为简单,不依赖设置的回调支付URL.商户后台系统先调用微信支付的统一下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付.注意:code_url有效期为2小时,过期后扫码不能再发起支付. 1.业务流程时序图 图6.9原生支付模式二时序图 业务流程说明: 1)商户后台系统根据用户选购的商品生成订单. 2)用户确认支付后调用微信支付[统一下单API]生成预支付交易: 3)微信支付系统收到请求后生成预支付

微信公众号 扫码支付 模式二 demo

扫码支付 本文附有代码,在下方,如果不熟悉场景的可以看看下面的场景介绍 场景介绍 官网介绍地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 用户扫描商户展示在各种场景的二维码进行支付. 步骤1:商户根据微信支付的规则,为不同商品生成不同的二维码(如图6.1),展示在各种场景,用于用户扫描购买. 步骤2:用户使用微信"扫一扫"(如图6.2)扫描二维码后,获取商品支付信息,引导用户完成支付(如图6.3). 图6

perl C/C++ 扩展(二)

第二讲perl 加载c/c++的库 先通过h2xs 创建一个新的工程 h2xs -A -n two_test 进入目录 cd two_test 创建一个mylib文件夹,存放静态库 mkdir mylib c程序头文件chen.h #include<stdio.h> void chen(char *); c程序代码chen.c #include "chen.h" void chen(char * name){ printf("input string is : %