posts

《MMO 服务器开发》分布式与跨服 · 全书目录与章节索引(34 篇)

《MMO 服务器开发》卷三《分布式与跨服》全 34 篇,把卷二那个能单服可玩的 aegis 推成一群机器上的集群:从分区分服与集群拓扑、什么时候该拆什么时候不该,到服务注册与健康检查、Leader 选举与服务所有权、etcd / NATS / Consul 三套中间件的本机真跑选型、RPC 超时预算与重试熔断背压、gRPC-Go 与 gRPC-Java 双栈对照、网关集群与会话粘性、连接排空、实例调度器与分配 Broker、崩溃恢复与状态重建、跨服报名匹配与跨服聊天路由、跨服资产归属与结算、雪花算法与号段模式、时钟回拨容错、Redis 缓存失效与击穿防护、读写分离与读模型、角色数据模型与脏写防护、分片与再均衡、跨服务事务补偿、对账与数据修复工单、事件溯源与审计,最后把跨服战场端到端跑通并给出集群承载数字。

《MMO 服务器开发》卷三《分布式与跨服》全 34 篇,是把单服推成集群的一卷。卷二结束时,aegis 已经是一个能登录、能移动、能打怪、能交易、能组队进副本的单服服务端;但真实的 MMO 不是一台机器——它有分区、有分服、有跨服战场、有全球同服的排行榜,它的网关是一群、场景服是一群、战斗服是临时开出来的。这一卷就是让这些进程彼此发现、互相调用、跨服组队、跨服打仗,并且保证数据还能对得上。

这一卷第一次大量依赖真实中间件。etcd、NATS、Consul、Redis、Postgres 全部以独立容器在本机运行,端口与用户自己的实例完全错开,每一节的代码都真的连上去跑过。

本页是《分布式与跨服》的全书目录:按章节顺序列出全部 34 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的学习路径与验收清单。

全书概览

项目内容
书稿《MMO 服务器开发》卷三《分布式与跨服》
篇数34 篇(正文 11 章 33 节 + 目录篇)
领域MMO 集群、服务治理与跨服玩法
贯穿项目《晨曦大陆》——跨服战场
从零服务端aegis——Go 主线,Java 21 对照
承接复用卷一《网络与并发内核》 与卷二《单服架构与玩法系统》 的帧格式、命令号与状态归属约定
中间件etcd 3.6.4、NATS 2、Consul 1.20、Redis 7、Postgres 17(均为本机独立容器)
阅读方式从目录篇 进入按顺序通读,或按查漏场景跳读
实测环境Go 1.26.0、JDK 21(经 Docker)、macOS Darwin 25.3.0
可运行性L1 纯逻辑 + L2 真连中间件 + L2J Java 对照 + B 基准,全部本机实跑

全书目录

前置

篇目核心内容
目录本卷定位、三条阅读路径、跨服战场验收清单与可运行性口径

第一部分:为什么拆、怎么找到彼此(第 1–3 章)

节文章核心内容
1.1分区分服与集群拓扑分区 / 分服 / 全球同服;五类节点职责
1.2什么时候该拆、什么时候不该拆分成本清单与阈值判断
1.3本书范围与站内服务治理文章的分工与既有架构文的分工总纲
2.1注册与健康检查节点注册、TTL 租约、健康三态
2.2Leader 选举与服务所有权租约、fencing token、脑裂防护
2.3对照:etcd / NATS / Consul 本机真跑选型三套中间件的实测对照与选型结论
3.1协议与超时预算超时预算分配与成败判定
3.2重试、熔断与背压幂等前提、熔断阈值、背压防雪崩
3.3双栈对照:gRPC-Go vs gRPC-Java同一份载荷在两种栈上的实现与对照

第二部分:连接落在哪、实例开在哪(第 4–5 章)

节文章核心内容
4.1连接位置与路由目录连接归属与路由目录维护
4.2粘性策略与发布期行为会话粘性的三种实现与代价
4.3连接排空(draining)优雅下线与客户端通知
5.1实例调度器场景 / 战斗 / 世界服的调度模型
5.2分配 Broker 与容量评估实例落点、容量评估与排队
5.3崩溃恢复与状态重建进程崩溃后的状态重建

第三部分:跨服与全局唯一(第 6–7 章)

节文章核心内容
6.1跨服报名与匹配报名队列与匹配结果归属
6.2跨服聊天与消息路由跨服频道订阅与消息寻址
6.3资产归属与跨服结算奖励归属、回传与失败处理
7.1雪花算法从零实现位布局、worker id 与生成吞吐
7.2号段模式号段预取与双 buffer 切换
7.3时钟回拨与容错回拨成因与三种应对策略

第四部分:状态、缓存与一致性(第 8–10 章)

节文章核心内容
8.1Redis 使用与失效策略缓存键设计、失效时机与顺序
8.2缓存预热与击穿防护预热、单飞、逻辑过期与热点 key
8.3读写分离与读模型读写延迟与可见性问题
9.1角色数据模型主表与扩展表的拆分
9.2落库与脏写防护版本号、乐观锁与落库时机
9.3分片与再均衡分片键、一致性哈希与搬迁
10.1跨服务事务与补偿Saga 与 TCC 的取舍
10.2对账与数据修复工单对账口径、差异分级与留痕
10.3事件溯源与审计事件流、快照与审计查询

第五部分:综合(第 11 章)

节文章核心内容
11.1跨服战场端到端两服组队到结算回传的完整链路
11.2多进程编排与验收一次拉起全部节点并验收
11.3集群承载数字节点数、连接数与跨服吞吐基准

怎么用这份索引

相关阅读

全部文章 Golang Game Saas Rust Python Java 游戏开发 客户端开发 GameDev Typescript
mmo

《MMO 服务器开发》6.3 资产归属与跨服结算

战场奖励到底算在哪个服?本节给出跨服结算的归属规则:战场只产出结算单,母服才是账本。用幂等键保证同一张单子重传多少次都只发一次奖,回传失败自动重试,最后用「战场产出总量等于各母服入账总量之和」的对账兜底,把丢单和重复入账都当场抓出来,并给出可直接运行的幂等与守恒断言。

6 分钟阅读
MMO 游戏服务端 分布式