Recent Posts
大型 MMO+SLG 游戏网关与世界服通信架构设计
第一章:引言 —— 从 10 万并发到“可信可扩展通信体系”的挑战 在当代大型网络游戏架构中,网关层与世界层之间的通信, 是整个分布式架构中最关键、最复杂
read more
为什么让客户端决定战斗结果会摧毁整个游戏系统
目录 引言:从“谁来决定胜负”谈起 客户端与服务器的职责边界 权威模型(Authoritative Model)与可信执行的演化 客户端主导的战斗计算
read more
分布式时间(Distributed Time)与多世界同步体系
在前几章中,我们确立了“游戏世界是一个状态流(State Stream)”的理念。 但是,如果这个世界被拆散到成百上千个节点上运行,那么问题来了
read more
状态即数据流(State-as-Stream)与游戏世界的持续计算模型
目录 引言:从状态到流的哲学转变 数据流思想的起源与计算模型演化 游戏服务器中的“流”与“存”之争 状态即流(State-as-Stream)模型定
read more
AI 驱动的自适应状态同步与智能容灾架构
目录 引言:当“状态管理”成为智能体的任务 AI 与传统状态管理的根本区别 游戏状态的五维特征与可学习空间 智能状态压缩(AI-based State Compre
read more
从无状态演进到 Serverless —— 游戏状态管理的未来架构趋势
目录 云原生游戏服务的兴起与挑战 Serverless 架构的哲学:瞬时存在的计算 游戏状态的再定义:中心化 vs 分布式 云原生状态管理:K8s、Redis、CRD 与 Actor 模型
read more
从 Go 工程视角看有状态架构的实现与演化
目录 Go 与游戏服务端架构的天然契合点 有状态的实现基础:Goroutine、Channel 与内存状态管理 Actor 模型在 Go 环境中的实现方式 状态存储层设计
read more
为什么游戏服务器必须是有状态的?能否设计成无状态架构?
目录 引言:从“Hello World”到百万并发的演进 第一章:什么是状态(State)?从哲学到计算机的定义 第二章:状态与游戏世界的本质联系 第
read more
《游戏服务端编程实践》2.3.1 Netty(Java)
一、引言:Netty 的定位与价值 Netty 是一个基于 Java NIO 的高性能网络通信框架,最早由 JBoss 社区在 2008 年推出,目前由 Netty 项目组维护(io.netty)。 它的目
read more
《游戏服务端编程实践》2.3.2 Go net/http + goroutine
一、引言:从异步回调到同步语义 在 Java/Netty 世界,开发者必须处理: Selector; Pipeline; Future; Callback。 这让程序高度异步
read more
《游戏服务端编程实践》2.3.3 Skynet(Lua)
一、引言:为什么 Skynet 能成为游戏后端事实标准 在中国游戏行业,Skynet 被广泛应用于: MMO / SLG / 卡牌游戏; 即时战斗 / 聊天 / 世界服; 自研分布式框架的
read more
《游戏服务端编程实践》2.3.4 Rust Tokio + Actix
一、引言:Rust 的异步哲学 Rust 在系统层面提供了三件武器: 零成本抽象(Zero Cost Abstraction) 所有权系统(Ownership & Bor
read more
《游戏服务端编程实践》2.2.3 线程池与任务分发策略
一、引言:为什么需要线程池? 在多线程或协程系统中,创建线程的成本极高: 操作系统线程的创建需要: 分配内核栈; 注册到调度器; 上下文切换; TLB flu
read more
《游戏服务端编程实践》2.2.2 Channel 通信与消息投递
一、引言:从共享内存到共享通信 在传统多线程模型中,线程通过共享内存通信,需要锁来保护数据。 然而锁带来了复杂性、死锁、饥饿与调试困难。 C.A.R. Hoare 在 1978
read more
《游戏服务端编程实践》2.2.1 Actor 模型详解(Akka / Erlang)
一、引言:为什么我们需要 Actor 模型? 在上一节我们学习了多线程与协程的差异。 线程和协程虽然解决了“并发执行”的问题,但它们都无法直接解决另一个根本
read more