Skip to content
On this page

Skynet 服务端架构

后端采用云风开发的 Skynet 框架。这是一个为在线游戏设计的轻量级服务端架构,基于 Actor 模型。

架构优势

  • 单进程多线程:通过消息队列驱动成千上万个 Lua 服务(Actor)。
  • 高并发:利用 C 语言编写的核心调度器,极大提升了消息交换效率。
  • 集群支持:内置 Cluster 模块,方便进行跨机器的服务通信。

核心组件

  1. GateServer:负责处理客户端的 TCP 连接与协议拆包。
  2. Watchdog:看门狗服务,管理 Agent 的生命周期。
  3. Agent:每个玩家对应一个独立的 Lua 服务,处理该玩家的所有业务请求。

通信协议

项目采用 Protocol Buffers (Protobuf) 作为前后端交换格式,确保数据传输的高效性与严谨性。

服务示例

以下是一个标准的 Skynet Lua 服务模版:

lua
local skynet = require "skynet"

local CMD = {}

function CMD.start()
    -- 初始化业务
end

skynet.start(function()
    skynet.dispatch("lua", function(session, source, command, ...)
        local f = assert(CMD[command])
        skynet.ret(skynet.pack(f(...)))
    end)
end)

作者:上帝喊我刚哥 | 联系邮箱:315791101@qq.com

Copyright © 2025 上帝喊我刚哥 | 鄂ICP备2025165463号-1