学习笔记: 我家别墅靠大海/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博客

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

  1. HALCON 20.11:深度学习笔记(12)---语义分割

    HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...

  2. Kotlin学习笔记12——数据类和密封类

    Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...

  3. ros学习笔记12——python实现发布和接收ros topic

    ros学习笔记12--python实现发布和接收ros topic 一.简单demo 1.工作空间是存放工程开发的相关文件的文件夹 2.创作工作空间指令 3 .创建功能包 4. 创建Topic的订阅发 ...

  4. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

  5. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  6. 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?

    台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep? 本博客整理自: http://blog.csdn.net/xzy_thu/article/detail ...

  7. R语言小白学习笔记12—概率分布

    R语言小白学习笔记12-概率分布 笔记链接 学习笔记12-概率分布 12.1 正态分布 12.2 二项分布 12.3 泊松分布 12.4 其他分布 笔记链接 学习笔记1-R语言基础. 学习笔记2-高级 ...

  8. 【计算机网络学习笔记12】交换技术(上)

    [计算机网络学习笔记12]交换技术(上) 经典局域网的交换技术 概念 以太网是由Xerox公司创建并由Xerox.intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议 ...

  9. 软件测试工程师学习笔记12 - 数据库篇

    软件测试工程师学习笔记 -12 一.入门必读 二.Linux 三.数据库 1.MySQL基础 1)别名与重复记录 2)条件查询 3)聚合函数 4)数据分组 5)一个练习 6)分组后的数据筛选 7)数据 ...

  10. 超强linux学习笔记,值得一看(附PDF下载)

    这次整理了linux最常用的学习笔记 很实用,很具操作性 先来看看这份笔记都有什么东西( 笔记共有154页   太长了就不一一截图 下载: Linux学习笔记(强悍总结值得一看).pdf 欢迎关注微信 ...

最新文章

  1. 重磅开源人工智能纹理分割自动分割由参考纹理覆盖图像自监督学习
  2. 多个ViewPager引发的Fragment未初始化
  3. oracle group by用法
  4. android 一些常用的功能方法代码块
  5. python函数参数冒号_Python3 - 参数中的冒号和箭头
  6. centos6.5安装mysql
  7. 洛谷P1217回文质数(特判筛选,取巧判断顺序)
  8. python MySQLdb安装和使用
  9. maven解决依赖冲突
  10. H3C OSPF基本配置命令
  11. 天气预报 API 各城市编码
  12. java数字金额大写金额_Java将数字金额转为大写中文金额
  13. [原创]把vscode的快捷键json配置批量导入微信小程序开发工具
  14. python编程大赛队名_同行——团队展示
  15. mobi转为html,MOBI to HTML
  16. 手机版python3h如何自制游戏_Python 飞机大战|10 分钟学会用 python 写游戏
  17. windows下qt android开发
  18. 《与大象共舞》读书笔记
  19. 北京2021年初雪即为暴雪
  20. 代码文档生成工具Doxygen教程及实例

热门文章

  1. 摇身一变,ADSL猫进化为无线路由器
  2. 三个问答告诉你aside标签的作用
  3. 赛码网刷题记录acmcoder
  4. mysql error1205 博客_Mysql Error:1205错误诊断
  5. already opened by ClassLoader
  6. 我的第一次diy装机记录——小白的装机篇
  7. 讲解如何禁止iOS屏幕自动旋转
  8. 如何讲好FISHER确切概率法
  9. outlook qr码在哪里_使用python自动发邮件-163、QQ、outlook邮箱
  10. 统计一个字符串中单词的个数(C语言)