go-pitaya学习笔记(12) - 看一看火龙果内置模块

 

  学习笔记: 我家别墅靠大海/pitaya-learn

尝试集成功能:我家别墅靠大海/pitaya-game

1.接收器 acceptor

来源acceptor接口

目前内置tcp和ws

常见使用方法:

在火龙果构建过程中绑定给火龙果即可,例如:

 

 2.接收器包装器 acceptorwrapper

来源acceptorwrapper接口 

 目前内置只有一个接受包装器,控制请求频率

 参数参考文档:

Configuration — Pitaya documentation

常见使用方法:绑定ratelimit装饰器

 3.火龙果客户端 client

在没客户端对接时候,模拟客户端请求

来源于pitayaclient接口

 

 目前内置标准客户端和proto客户端(我还没测试)。

常见使用方法:

 4.会话数据 session

来源于session接口

 

常见使用方法:

组件中应包含火龙果实例

没有测试过全局的火龙果实例

通过上下文即可获得客户端和服务器的会话

 Bind 绑定会话

OnClose 会话关闭时执行函数

Close 手动关闭会话

SetData 设置data数据

GetData 获得data数据

Int 获得data中int类型的数据

......

 5.组件 component

组件就是组件,你的业务组成部分

用户是个组件

订单是个组件

。。。

来源于component接口,只需要实现4个方法即可

 base已帮用户实现

 

 通常用法:

绑定给火龙果后,通过handler处理游戏请求

  6.序列化 serialize

序列化传输参数使用

来源 serializer接口

内置了protobuf , json

 通常用法:

用于cli传递protobuf

 

build时传递序列化方式 

 

  7.链接组驱动 group_service

组驱动:管理链接组的方式 

来源 serializer接口

目前内置了etcd驱动和内存驱动

  通常用法:

构建时给火龙果构建器赋值,选择驱动 

 8.模块 modules

模块和组件差不多,只不过是全局存活的东西。

来源 interfaces

base已实现抽象方法。

继承base即可

官方内置了一些模块

 

api_docs_gen.go

APIDocsGen是一个pitaya模块,它为pitaya服务器生成api文档

binary.go

Binary是一个pitaya模块,它将二进制文件作为子进程启动,并通过管道传输其标准输出

binding_storage.go

ETCDBindingStorage模块,使用etcd保存每个用户绑定到的前端服务器

unique_session.go

UniqueSession模块监视使用相同UID的会话并将其踢出

和组件使用一样:绑定一下就行了

 9.定时 timer

具体用法可参考:

但通常通过app下的timer.go使用 

 

 例如:

每分钟回调

 10.错误 errors

//ErrUnknownCode是表示未知错误的字符串代码

//当处理程序未发送错误代码时,将使用此选项

const ErrUnknownCode=“PIT-000”

//ErrInternalCode是表示内部Pitaya错误的字符串代码

常量ErrInternalCode=“PIT-500”

//ErrNotFoundCode是表示未找到相关错误的字符串代码

const ErrNotFoundCode=“PIT-404”

//ErrBadRequestCode是表示错误请求相关错误的字符串代码

const ErrBadRequestCode=“PIT-400”

//ErrClientClosedRequest是表示客户端关闭请求错误的字符串代码

const ErrClientClosedRequest=“PIT-499”

 通常用法,还是通过火龙果:

 11.日志 logger

来源interfaces.go

 

常用方法:

 log是全局参数

直接调用日志就行

 12.集群 cluster

Features — Pitaya documentation

 

集群内置了两种方法grpc和nats。

grpc我这边没测试

nats是火龙果默认的集群方式

常见用法:

注册远程组件

 进行rpc调用即可

可以参考集群测试

 go-pitaya学习笔记(11) - 测试集群rpc_冰纳-CSDN博客

 13.路由 route

转发消息

常见用法:

通过火龙果实例添加路由方法

官方demo中的cluster展示。

前端绑定room路由,请求会转移到后台room服务器

  14.管道 pipeline

常见用法:

可以查看官方的demo pipeline

或者

go-pitaya学习笔记(8)-pipeline demo分析_冰纳-CSDN博客

在构建前添加通过火龙果添加管道

 

  15.工具 util

火龙果内置的一些工具

包括文件是否存在,从请求中获得上下文之类的

  16.追踪 tracing

分布式的追踪封装

开放分布式追踪(OpenTracing)入门与 Jaeger 实现-阿里云开发者社区

 17.指标 metrics

内置了普罗米修斯和statsd

用法:

看一下之前的笔记

go-pitaya学习笔记(6)-cluster-protobuf demo分析_冰纳-CSDN博客

  18.可靠的rpc支持 worker

 worker

常见用法:

看一下之前的笔记

go-pitaya学习笔记(10)-worker demo分析_冰纳-CSDN博客

火龙果实例

内置了一堆处理方法,实际上我们用这里的东西特别多。

被开发者集成起来统一调用

1. builder

用来建筑火龙果实例

参数也是可以直接赋值的

也可以调用方法给构建参数

2.group

3.组件管理

 

4.干掉用户

5.模块管理

 

 6.推送

 

7. 报告

 8.rpc

 

9.timer

 

笔记

go-pitaya学习笔记(13) - 看一看火龙果外部模块_冰纳-CSDN博客

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值