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

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

如果你正在看此笔记,请你左边放笔记,右边放chatdemo的代码!!

我是按代码的顺序记的笔记

复制demo worker过来

这里的worker 指的是

谷歌翻译

看一下源码

main.go

看起来我们还要搞个redis。

直接搞个编译完的zip就行。。

redis:https://github.com/tporadowski/redis/releases

就用他默认配置了

测一下,好像可以

worker大概有这么多配置

文档:Configuration — Pitaya documentation

pitaya.worker.redis.url localhost:6379 string Redis url 火龙果工人用于注册工作
pitaya.worker.redis.pool 10 string 与 Redis 保持的连接数
pitaya.worker.redis.password “” string Redis password to connect to pitaya workers redis
pitaya.worker.concurrency 1 int Number of workers to execute job
pitaya.worker.namespace “” string Worker namespace, can be used to differ stacks in a blue-green deployment
pitaya.worker.retry.enabled true bool If true, retry job if errored for max times
pitaya.worker.retry.max 5 int Max number of job retries
pitaya.worker.retry.exponential 2 int Retry job after backoff of nRetry**2
pitaya.worker.retry.minDelay 0 int Min time to wait on backoff to retry job
pitaya.worker.retry.maxDelay 10 int Max time to wait on backoff to retry job
pitaya.worker.retry.maxRandom 10 int Random time to wait during backoff

demo依旧是集群方式进行

room 前端服务器

metagame 后端服务器

worker 可靠的rpc

protoc请求依旧很麻烦,我们给前端服务器改成字节切片

room.go

main.go

新建个客户端文件测试

mydemo/demo3/client.go

package mainimport ("fmt""time""github.com/sirupsen/logrus""github.com/topfreegames/pitaya/v2/client"pb "github.com/topfreegames/pitaya/v2/examples/demo/worker/protos""github.com/topfreegames/pitaya/v2/serialize/protobuf"
)func main() {c := client.New(logrus.InfoLevel, 100*time.Millisecond)err := c.ConnectTo(":3250")if err != nil {fmt.Println(" conn server error :", err)return}go func(c client.Client) {for {select {case data := <-c.MsgChannel():if data.Err {fmt.Println("error :", string(data.Data))break}fmt.Printf("data: %#v\n", data)var res pb.Responseprotobuf.NewSerializer().Unmarshal(data.Data, res)fmt.Printf("res: %#v\n", res)}}}(*c)_, err = c.SendRequest("room.room.calllog", []byte(""))if err != nil {fmt.Println("send request error")return}select {}
}

分别启动三个服务器

PS D:\Work\pitaya-test-game\demo\worker> go run .\main.go -type room

PS D:\Work\pitaya-test-game\demo\worker> go run .\main.go -port 3251 -type metagame -frontend=false

PS D:\Work\pitaya-test-game\demo\worker> go run .\main.go -type worker -port 3252

测试

测试是过了的

看看代码,

worker.go

就这一个是陌生的东西,可靠的rpc请求,也是我们这个worker demo主要想说的东西

进去看一下,一共有4个不同的rpc请求方法,前两种就是不可靠的。

可靠和不可靠上面记过了

请求来到了metagame这边。

单纯的打印些东西

看下worker

他这边启动了,worker并且注册了rpcjob

rpcJob要实现rpc.job的接口 ,也就是需要实现个rpc分发器

demo看的差不多了,但是感觉自己对于集群还是有点问题。

再测试一下集群

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

go-pitaya学习笔记(10)-worker demo分析相关推荐

  1. go-pitaya学习笔记(9)-rate_limiting demo分析

    学习笔记: 我家别墅靠大海/pitaya-learn 尝试集成功能:我家别墅靠大海/pitaya-game 如果你正在看此笔记,请你左边放笔记,右边放chatdemo的代码!! 我是按代码的顺序记的笔 ...

  2. go-pitaya学习笔记(6)-cluster-protobuf demo分析

    学习笔记: 我家别墅靠大海/pitaya-learn 尝试集成功能:我家别墅靠大海/pitaya-game 如果你正在看此笔记,请你左边放笔记,右边放chatdemo的代码!! 我是按代码的顺序记的笔 ...

  3. go-pitaya学习笔记(7)-custom_metrics demo分析

    学习笔记: 我家别墅靠大海/pitaya-learn 尝试集成功能:我家别墅靠大海/pitaya-game 如果你正在看此笔记,请你左边放笔记,右边放chatdemo的代码!! 我是按代码的顺序记的笔 ...

  4. motan学习笔记 三 motan Demo 分析

    motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...

  5. motan学习笔记 二 motan架构分析

    motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...

  6. Li‘s 影像组学视频学习笔记(10)-T检验+lasso+随机森林、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(10)主要介绍: T检验+lasso+随机森林 李博士借用和女朋友一起吃饭这个实例来说明:爱情和机器学习一样,复杂深奥.难以揣测. im ...

  7. Hadoop学习笔记—10.Shuffle过程那点事儿

    Hadoop学习笔记-10.Shuffle过程那点事儿 一.回顾Reduce阶段三大步骤 在第四篇博文<初识MapReduce>中,我们认识了MapReduce的八大步骤,其中在Reduc ...

  8. sheng的学习笔记-Vector源码分析

    概述 Vector底层也是数组,跟ArrayList很像(先看下ArrayList,再看Vector会很轻松),ArrayList可参考下文,并且由于效率低,已经被淘汰了,大概瞅瞅得了 sheng的学 ...

  9. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

最新文章

  1. DbSetT().Where(e = true)之后再想Include怎么办?
  2. Scala基础教程(四):if语句、循环语句、while语句
  3. 产品经理的四个重要阶段
  4. oracle dg snapshot,Oracle Broker Snapshot Standby测试
  5. 未来客:人人都可以构建软件或系统
  6. matlab 拉普拉斯锐化函数_机器视觉 03.3 频域高通滤波(锐化)
  7. 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】
  8. 深度学习大厂前端项目开发全流程全流程
  9. Python用户画像词云图生成并集成到django网站
  10. 麒麟子出了一款免费3D角色虚拟摇杆控制器!这也太好用了
  11. 多次重复原生进入RN优化Catalyst Instance has already disappeared
  12. 不是抽象的, 并且未覆盖Handler中的抽象方法
  13. Greenplum 分布键 distribute hash分布和随机分布
  14. QQ群 该页面暂时无法显示
  15. 读书笔记:忍耐的艺术
  16. html导出excel表头多了一行空行,excel中有时候表格下面有很多空行,下拉条滚动一点就过了很多行,怎么取消掉多余的行啊?(excel表头每页都显示)...
  17. 串口发送数据,只接收到00的原因之一
  18. macos 旧版本 lightroom 找不到新镜头配置文件 新镜头配置导入lr/ps
  19. 关于华为设备ospf进程中RID重叠的问题
  20. 使用python预测基金_使用python先知3 1创建预测

热门文章

  1. 重庆计算机就业现状,重庆大学生就业情况统计分析.doc
  2. 全职加入清华,丘成桐:为祖国、为全球数学界培养数学人才
  3. linux suse11 sp3安装,redis服务器安装-SuSE Linux Enterprise Server 11 SP3
  4. Frida工具Objection使用
  5. 得推校园detuio2o如何对接短信功能?
  6. HTML继承和元素类型转换
  7. MySQL中的CHARSET和COLLATE关键字
  8. Java技能点--发起http GET POST请求
  9. SVG Sprites技术介绍
  10. 大数据渗透到各行各业,物联网主要的应用领域