Posts
《游戏服务端编程实践》2.2.3 线程池与任务分发策略
一、引言:为什么需要线程池? 在多线程或协程系统中,创建线程的成本极高: 操作系统线程的创建需要: 分配内核栈; 注册到调度器; 上下文切换; TLB flu
read more
Posts
《游戏服务端编程实践》2.2.2 Channel 通信与消息投递
一、引言:从共享内存到共享通信 在传统多线程模型中,线程通过共享内存通信,需要锁来保护数据。 然而锁带来了复杂性、死锁、饥饿与调试困难。 C.A.R. Hoare 在 1978
read more
Posts
《游戏服务端编程实践》2.2.1 Actor 模型详解(Akka / Erlang)
一、引言:为什么我们需要 Actor 模型? 在上一节我们学习了多线程与协程的差异。 线程和协程虽然解决了“并发执行”的问题,但它们都无法直接解决另一个根本
read more
Posts
《游戏服务端编程实践》2.1.3 多线程与协程的差异
一、引言:从线程到协程的时代转折 在计算机的早期时代,程序通常是顺序执行的:一条指令执行完才开始下一条。 当网络 I/O、磁盘读写、数据库访问等耗
read more
Posts
《游戏服务端编程实践》2.1.2 Reactor 模式与事件循环
一、引言:从 I/O 到事件的必然演化 在上一节我们学习了阻塞与非阻塞 I/O 模型: 阻塞模型简单,但每个连接需要独立线程; 非阻塞模型高效,但需要手动轮询,代
read more
Posts
《游戏服务端编程实践》2.1.1 阻塞与非阻塞 I/O
一、引言:I/O 模型是服务端的灵魂 在游戏服务器、即时通信系统或高并发 API 网关中,开发者最常听到的词之一就是“I/O 模型(Input/Outpu
read more
Posts
《游戏服务端编程实践》1.4.1 典型架构演进
一、概述:架构的演化即“世界复杂度的增长” 在游戏技术体系中,架构不是一次性设计,而是一个随规模、并发量与功能复杂度演化的过程。 早期游戏服务器
read more
Posts
《游戏服务端编程实践》1.4.0 游戏服务器的通信体系与协议设计
一、通信的本质:游戏世界的“血液循环” 通信系统是游戏服务端架构中最底层但最关键的一层。 如果说: 世界服是“大脑”; 战斗服是“心脏”; 那么通信层
read more
Posts
《游戏服务端编程实践》1.3.1 游戏服务器的生命周期
一、概述:游戏世界的“生老病死” 一个游戏服务器,不只是一个常驻进程,它更像一个世界的宿主。 它的生命周期可以分为三个阶段: 阶段 含义 关键操作 启动
read more
Posts
《游戏服务端编程实践》1.3.0 游戏服务器的核心模块与职责
一、概述:游戏世界的“服务解剖图” 在前几章中我们从「架构形态」的角度认识了 MMO、SLG、MOBA、FPS 的差异与统一。 而当我们进入具体工程
read more
Posts
《游戏服务端编程实践》1.2.5 服务器架构的比较与统一演化
一、前言:架构的多样性与统一性 过去二十年,游戏服务端经历了从单服 → 分布式 → 微服务 → 云原生 → 世界一体化的五次演进。 每一次演进都围绕着同一个目标
read more
Posts
《游戏服务端编程实践》1.2.4 FPS / MOBA 实时性特征与总体架构
一、实时游戏的工程定义 1.1 “实时性”意味着什么? 在游戏网络架构领域,实时性(Real-Time) 不等于“零延迟”, 而是指系统具备在严格时间约束
read more