Posts
从无状态演进到 Serverless —— 游戏状态管理的未来架构趋势
目录 云原生游戏服务的兴起与挑战 Serverless 架构的哲学:瞬时存在的计算 游戏状态的再定义:中心化 vs 分布式 云原生状态管理:K8s、Redis、CRD 与 Actor 模型
read more
Posts
《游戏服务端编程实践》思考02:从 Go 工程视角看有状态架构的实现与演化
目录 Go 与游戏服务端架构的天然契合点 有状态的实现基础:Goroutine、Channel 与内存状态管理 Actor 模型在 Go 环境中的实现方式 状态存储层设计
read more
Posts
《游戏服务端编程实践》思考01:为什么游戏服务器必须是有状态的?能否设计成无状态架构?
目录 引言:从“Hello World”到百万并发的演进 第一章:什么是状态(State)?从哲学到计算机的定义 第二章:状态与游戏世界的本质联系 第
read more
Posts
《游戏服务端编程实践》3.3.3 消息路由与分发策略
一、消息分发的总体架构 在典型的游戏服务器中,消息经过如下路径: flowchart LR A[Socket 收包] --> B[解包 / Header 解析] B --> C[CmdID 查表] C --> D[Dispatcher 分发] D --> E1[LoginHandler] D --> E2[PlayerHandler] D --> E3[BattleHandler] 流程
read more
Posts
《游戏服务端编程实践》3.3.2 封包拆包、粘包与断线重连
一、TCP 是“流”,不是“包” 很多初学者容易犯的错误是把 TCP 当作“包”协议使用。 实际上: TCP 是**面向字节流(stream-based)**的协
read more
Posts
《游戏服务端编程实践》3.3.1 消息头与命令号设计
一、消息的层级结构概念 在网络通信中,一条消息一般由两部分组成: ┌──────────────────────────────────────
read more
Posts
《游戏服务端编程实践》3.2.3 序列化性能与内存占用对比
一、测试设计与评估目标 1.1 测试目的 游戏服务器的通信层常在高并发场景下运行, 每个包的序列化性能对整体吞吐率(QPS/TPS)有直接影响。 目标: 比
read more
Posts
《游戏服务端编程实践》3.2.2 JSON、MsgPack、Cap’n Proto
一、序列化的多样化背景 游戏服务器不仅在实时战斗中传输高频数据,还涉及: 登录认证(跨语言接口) Web 管理 / GM 工具(HTTP 接口) AI 模块(Pytho
read more
Posts
《游戏服务端编程实践》3.2.1 Protobuf 与 FlatBuffers
一、序列化的意义:从内存结构到可传输字节 在网络通信中,我们需要把“内存对象”转换为“字节流”: graph LR A[结构体 / 对象] -->|序列化| B
read more
Posts
《游戏服务端编程实践》3.1.3 延迟与丢包问题分析
一、引言:网络不稳定的必然性 无论游戏服务器多强大、协议多先进, 只要玩家使用移动网络或 Wi-Fi,就无法避免以下问题: 问题 表现 原因 延迟高 技能释
read more
Posts
《游戏服务端编程实践》3.1.2 游戏中的连接保持与心跳机制
一、引言:为什么游戏必须要“心跳” 网络连接就像一条“虚拟电缆”,但它并不是永远稳定的。 在游戏运行中,你可能遇到: 玩家在地铁、Wi-Fi 与 4G 之
read more
Posts
《游戏服务端编程实践》3.1.1 TCP / UDP / WebSocket 对比
一、引言:游戏通信的本质是“实时性 + 一致性”的平衡 在游戏开发中,通信协议决定了“游戏世界如何同步”。 它不仅仅是“传输数据”,而是塑造了整个游
read more