GO · ACTOR · REALTIME

ActorGo

ActorGo框架是面向实时游戏的 Go Actor 服务端框架。状态按消息串行处理,单机和集群用同一套调用。MIT 协议,可以直接用于商业项目。

  • 串行一个 Actor 一把邮箱
  • 无锁业务状态不共享
  • 同一套单机与集群调用
  • Go
  • AGP
  • NATS
  • RabbitMQ
  • Protobuf
  • MIT
01

运行时

消息从入口进到邮箱,单机和集群共用一张方法表。

01

Actor 并发模型

每个 Actor 独享执行上下文,业务消息串行处理,隔离共享状态和锁竞争。

02

稳定 Method ID

Typed Handler 在初始化时校验签名。AGP、HTTP 和集群入口共用一张方法表。

03

统一 AGP

TCP 用长度帧,WebSocket 一条 Binary Message 对应一个 Packet。

04

弹性集群传输

默认 NATS,也可以换 RabbitMQ。Invoke 和 Notify 不绑定具体中间件。

05

JSON 与 Protobuf

业务 Body 可以按调用选择编码。集群控制面固定用 Protobuf。

06

故障边界

Handler、事件和定时器的 panic 都有保护,一个 Actor 出错不会拖垮进程。

02

适用场景

按房间、世界和长线玩法拆 Actor,传输层可以替换。

建模示例

实时对战

房间、玩家和战局各自一个 Actor。

房间服战斗服

大型世界

顶层服务加动态子 Actor,按节点扩容。

世界服场景服

长线玩法

事件、定时器和时间轮放在同一个 Actor 里。

SLG模拟经营

平台服务

Gin、GORM、Mongo、Redis 按需接入。

大厅社交