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![](/assets/blank.gif)
内置了普罗米修斯和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博客
go-pitaya学习笔记(12) - 看一看火龙果内置模块相关推荐
- HALCON 20.11:深度学习笔记(12)---语义分割
HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...
- Kotlin学习笔记12——数据类和密封类
Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...
- ros学习笔记12——python实现发布和接收ros topic
ros学习笔记12--python实现发布和接收ros topic 一.简单demo 1.工作空间是存放工程开发的相关文件的文件夹 2.创作工作空间指令 3 .创建功能包 4. 创建Topic的订阅发 ...
- Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从
Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...
- golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?
台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep? 本博客整理自: http://blog.csdn.net/xzy_thu/article/detail ...
- R语言小白学习笔记12—概率分布
R语言小白学习笔记12-概率分布 笔记链接 学习笔记12-概率分布 12.1 正态分布 12.2 二项分布 12.3 泊松分布 12.4 其他分布 笔记链接 学习笔记1-R语言基础. 学习笔记2-高级 ...
- 【计算机网络学习笔记12】交换技术(上)
[计算机网络学习笔记12]交换技术(上) 经典局域网的交换技术 概念 以太网是由Xerox公司创建并由Xerox.intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议 ...
- 软件测试工程师学习笔记12 - 数据库篇
软件测试工程师学习笔记 -12 一.入门必读 二.Linux 三.数据库 1.MySQL基础 1)别名与重复记录 2)条件查询 3)聚合函数 4)数据分组 5)一个练习 6)分组后的数据筛选 7)数据 ...
- 超强linux学习笔记,值得一看(附PDF下载)
这次整理了linux最常用的学习笔记 很实用,很具操作性 先来看看这份笔记都有什么东西( 笔记共有154页 太长了就不一一截图 下载: Linux学习笔记(强悍总结值得一看).pdf 欢迎关注微信 ...
最新文章
- 重磅开源人工智能纹理分割自动分割由参考纹理覆盖图像自监督学习
- 多个ViewPager引发的Fragment未初始化
- oracle group by用法
- android 一些常用的功能方法代码块
- python函数参数冒号_Python3 - 参数中的冒号和箭头
- centos6.5安装mysql
- 洛谷P1217回文质数(特判筛选,取巧判断顺序)
- python MySQLdb安装和使用
- maven解决依赖冲突
- H3C OSPF基本配置命令
- 天气预报 API 各城市编码
- java数字金额大写金额_Java将数字金额转为大写中文金额
- [原创]把vscode的快捷键json配置批量导入微信小程序开发工具
- python编程大赛队名_同行——团队展示
- mobi转为html,MOBI to HTML
- 手机版python3h如何自制游戏_Python 飞机大战|10 分钟学会用 python 写游戏
- windows下qt android开发
- 《与大象共舞》读书笔记
- 北京2021年初雪即为暴雪
- 代码文档生成工具Doxygen教程及实例