![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pitaya
文章平均质量分 82
DebugEve
我们最初拥有的只是梦想和毫无根据的自信,可是一切都是从这里开始的
展开
-
【Pitaya游戏服务器实战---注册登录】1.3登录逻辑与服务器路由
假设玩家 _PlayerA_ 在 _LobbyServer2_ 中登录了,由于 IO 比较慢,服务器一般会尽量少的去访问 MongoDB,所以即使玩家下线了, _PlayerA_ 的数据也不会立刻从服务器中移除,而是会缓存一段时间。当玩家再次登录上来的时候,代理服务器将登录请求再次转发到 _LobbyServer2_,此时服务器上是有该玩家的缓存数据的,就不需要再去 DB 拉玩家信息了。那么 ProxyServer 是如何知道玩家之前在哪个服务器服务器登录过、保留有缓存数据呢?原创 2024-01-03 15:08:48 · 1150 阅读 · 4 评论 -
【Pitaya游戏服务器实战---注册登录】1.2完善账号注册与数据入库
本节我们完成了账号注册的流程,包括:数据库模块的封装、注册 MongoDB Module、实现数据入库、完成 Register 处理方法、测试注册流程。原创 2023-12-15 13:48:20 · 269 阅读 · 0 评论 -
【Pitaya游戏服务器实战---注册登录】1.1前后端服务器间通信
第一章,我们先一起完成一个简单的登录流程。虽说简单,但也涉及到了多个服务器和数据库,所以借此功能,我们刚好了解如何通过 pitaya 建立前后端服务器、进行服务器间通信。原创 2023-12-15 13:45:57 · 625 阅读 · 0 评论 -
基于Pitaya框架的Go游戏服务器实战项目!
上一个系列完成了 Pitaya 框架的 Demo 解读后,就想着自己写一个游戏服务器的 Demo 来巩固下,而且目前在中文互联网上,涉及到游戏业务的服务器开源代码和课程还真的不多见,大部分都是客户端 Demo。。本实战项目第二期:战斗系统第三期:机器人压测与调优后面两期是我嘴嗨哈哈,第一期外围系统做完都要很久很久很久了。一步一个脚印慢慢来,先做好第一期外围系统的内容吧(甚至还得写客户端代码,不然都不好验证……),万一我能坚持下来呢,那才有第二期第三期 - -原创 2023-12-14 20:40:14 · 429 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】7. worker demo
worker 主要用来实现一个异步调用,并不能直接在调用侧获得回复,相当于是发送一个 job 到 worker,由 worker 来保证可靠调用,失败重试。原创 2023-12-14 20:37:02 · 210 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】6. rate_limiting demo
我看这段代码的时候也是云里雾里,平时没打好设计模式的基础,到这里就有点蒙圈了,幸得朋友推荐了耗子叔的文章,才总算是解了惑。限频是一个很重要的功能,部署到公网上的服务,如果会被恶意刷爆(如DDOS攻击),就会影响到正常用户的访问,所以一般来说,我们会在服务端加上访问频率限制。的修饰,核心就是耗子叔给出的示例的修饰器编程模式,然而,它,更复杂……回到代码里来,如果你看完以上文章,应该对修饰器有了一定的理解,修饰器模式是对原型的一种扩展和包装,所以它需要将 Wrap 后的变量再赋值回来,实现一层一层的包裹。原创 2023-12-04 16:42:29 · 238 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】5. pipeline demo
项目目录:examples/demo/custom_metrics本例展示了如何使用(struct validation)和。原创 2023-12-04 16:41:04 · 205 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】4. custom_metrics demo
Pitaya 提供了对 prometheus 直接采集的支持,默认开放端口 9090,在普罗米修斯服务器上配置 targets,服务器通过 /metrics 获取相关监控数据。我这里是 windows,没有 curl 工具,直接在浏览器上看一下 localhost:9090/metrics。main 中读取 yaml 配置,并根据配置数据创建 builder,生成 app。这个例子在代码层面没什么特别好说的,主要是演示了监控指标如何使用。本例中需要读取配置,直接使用。在 yaml 配置里指定了。原创 2023-10-13 11:04:36 · 112 阅读 · 2 评论 -
【Pitaya官方文档-中文版】1. 概述
Pitaya是一个易于使用、快速、轻量级的游戏服务器框架,灵感来自starx和pemelo,构建在nano的网络库之上。starxandpomelonanoPitaya的目标是为分布式多人游戏和服务器端应用程序提供一个基本的、健壮的开发框架。翻译 2023-10-13 10:50:20 · 881 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】3. cluster_grpc demo
首先需要知道,RPCServer 和 RPCClient 是成对出现的,如果你开启了一个 GRPCServer,那么对应使用的应该是 GRPCClient,所以上面行39我们指定了对应的 GRPCClient。如果不显式指定,框架默认使用的是基于 Nats 实现的 rpc,这个 demo 里并没有使用到,既然我们已经看了 grpc,也顺便对比一下 NatsRPC 的实现,看看有何不同。RPC 的实现是成对出现的,有 Nats 实现的 Server 端,肯定还需要再对应一个 Client 端。原创 2023-10-13 10:46:04 · 424 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】2. cluster demo
前端服务、后端服务,应该是 Pitaya 框架给出的概念,可以将前端服务理解为 Proxy 或者 Gate,它是面向客户端连接的,具有转发消息到后端服务的功能和职责。再看 RegisterRemote,其实最终落地也是在。pitaya 是可动态扩展的,同一个 type 的服务器可能有多个,当前端服务器收到一个目标为其他 serverType 的消息时,就需要转发到对应的服务器,代码里有关于 Jaeger,但这不是我们的主线,而且配置起来比较麻烦,这里先略过,只研究我们的主线逻辑,之后有时间再回过头来看吧。原创 2023-09-27 16:42:30 · 736 阅读 · 2 评论 -
【Pitaya-官方Demo解读笔记】1. chat demo
这是一个很简单的demo,主逻辑就是开启一个前端服务,接收客户端上行消息并处理,但是其中涉及了很多框架层的概念,比如:Config、Builder、Acceptor、Group、Component、Handler 等。现在只是简单了解一下,顺带看了底层的实现,浅尝辄止。接下来通过其他的 demo 再慢慢学习更多的框架知识和用法,自己动手改造或者实现一个前后端服务器。(前端服务、后端服务在这个例子里还没有体现,接下来的 cluster 就可以了解到了)原创 2023-09-27 16:35:55 · 351 阅读 · 0 评论 -
【Pitaya-官方Demo解读笔记】0.准备工作
etcd 和 nats-server 直接解压,双击 etcd.exe, nats-server.exe 启动即可。在pitaya源码目录下:examples/testing 运行。,这里提供的是 v3.5.29,选择 windows 版。: 使用 docker 启动 etcd 和 nats。基于 Windows 学习、调试官方 Demo。下载 Pitaya Release 包。,这里提供的是 v2.9.20。原创 2023-09-27 16:30:18 · 189 阅读 · 0 评论