展开全部

主编推荐语

帮助服务器开发人员更好地理解服务器框架的设计与开发。

内容简介

本书从零开始,详细阐述游戏服务器设计与开发的流程和技术点,包括网络通信、分布式架构设计、内部RPC通信、数据管理、多线程管理,并从实践的角度出发,配合详细的源码,帮助广大游戏服务器开发人员,或正在考虑从事游戏服务器开发的人员,更加系统地学习服务器架构的设计与开发。本书实用性强,既可以帮助想从事服务器开发的人员快速学习相关知识,又可以帮助服务器开发人员向架构师进阶。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 第1章 游戏服务器架构总体设计
  • 1.1 游戏服务器架构设计的意义
  • 1.1.1 良好的架构设计有助于团队协作开发
  • 1.1.2 良好的架构设计有助于避免bug的产生
  • 1.1.3 良好的架构设计有助于制定合理的项目开发周期计划
  • 1.1.4 良好的架构设计有利于测试
  • 1.2 游戏服务器架构分类
  • 1.2.1 单体游戏服务器架构
  • 1.2.2 分布式游戏服务器架构
  • 1.3 游戏服务器架构基本模块
  • 1.3.1 网络通信长连接与短连接
  • 1.3.2 网关
  • 1.3.3 服务消息交互——消息中间件
  • 1.3.4 业务处理框架
  • 1.3.5 测试模块
  • 1.4 本章总结
  • 第2章 服务器项目管理
  • 2.1 Eclipse中配置Maven工具
  • 2.1.1 Maven下载与配置
  • 2.1.2 Maven环境变量配置
  • 2.1.3 Maven常用命令示例
  • 2.2 搭建Maven仓库中心
  • 2.2.1 安装Nexus
  • 2.2.2 在Maven中配置私服
  • 2.2.3 添加非开源依赖Jar包
  • 2.3 创建Maven项目
  • 2.3.1 创建父项目
  • 2.3.2 创建子项目
  • 2.4 本章总结
  • 第3章 数据库选择与安装
  • 3.1 数据持久化
  • 3.1.1 为什么使用MongoDB
  • 3.1.2 安装MongoDB
  • 3.2 内存型数据库
  • 3.2.1 为什么使用Redis
  • 3.2.2 安装Redis
  • 3.2.3 使用Redis缓存需要注意的事项
  • 3.3 本章总结
  • 第4章 游戏服务中心开发
  • 4.1 游戏服务中心的作用
  • 4.1.1 游戏服务中心提供游戏外围服务
  • 4.1.2 游戏服务中心方便动态扩展
  • 4.2 游戏服务中心开发准备
  • 4.2.1 根据需求设计架构
  • 4.2.2 Spring Cloud简介
  • 4.2.3 安装Spring Tool插件
  • 4.2.4 添加公共pom依赖
  • 4.3 用户登录注册功能开发
  • 4.3.1 创建游戏服务中心项目
  • 4.3.2 网络通信数据格式定义
  • 4.3.3 添加数据库操作
  • 4.3.4 实现登录注册
  • 4.3.5 全局异常捕获处理
  • 4.3.6 登录注册测试
  • 4.3.7 实现角色创建
  • 4.3.8 角色创建测试
  • 4.4 本章总结
  • 第5章 Web服务器网关开发
  • 5.1 Consul服务注册中心
  • 5.1.1 Consul简介
  • 5.1.2 安装Consul
  • 5.2 Web服务器网关功能开发
  • 5.2.1 Spring Cloud Gateway简介
  • 5.2.2 创建Web服务器网关项目
  • 5.2.3 网关路由信息配置
  • 5.2.4 测试Web服务器网关请求转发
  • 5.3 统一验证请求权限
  • 5.3.1 在Web服务器网关进行权限验证的必要性
  • 5.3.2 网关全局过滤组件——GlobalFilter
  • 5.3.3 GlobalFilter实现权限验证
  • 5.3.4 测试网关权限验证
  • 5.4 请求负载均衡
  • 5.4.1 负载均衡组件——Spring Cloud Ribbon
  • 5.4.2 自定义负载均衡策略
  • 5.4.3 负载均衡策略配置
  • 5.5 网关流量限制
  • 5.5.1 常见的限流算法
  • 5.5.2 添加Web服务器网关限流策略
  • 5.5.3 Web服务限流测试
  • 5.6 HTTPS请求配置
  • 5.6.1 HTTPS简介
  • 5.6.2 HTTPS证书申请
  • 5.6.3 网关服务配置HTTPS证书
  • 5.6.4 测试HTTPS访问
  • 5.7 服务错误异常全局捕获
  • 5.7.1 默认全局Web异常捕获
  • 5.7.2 自定义全局Web异常捕获
  • 5.7.3 异常捕获测试
  • 5.8 本章总结
  • 第6章 游戏服务器网关开发
  • 6.1 游戏服务器网关管理
  • 6.1.1 游戏服务器网关必须支持动态伸缩
  • 6.1.2 游戏服务器网关项目搭建与配置
  • 6.1.3 游戏服务器网关信息缓存管理
  • 6.1.4 游戏服务器网关负载均衡策略
  • 6.1.5 测试游戏服务器网关信息
  • 6.2 客户端与游戏服务器网关通信开发
  • 6.2.1 客户端项目创建
  • 6.2.2 网络通信数据粘包与断包
  • 6.2.3 网络通信协议制定
  • 6.2.4 客户端消息编码与解码开发
  • 6.2.5 游戏服务器网关消息编码与解码开发
  • 6.2.6 使用Netty实现游戏服务器网关长连接服务
  • 6.3 请求消息参数与响应消息参数对象化
  • 6.3.1 请求与响应消息封装
  • 6.3.2 客户端与游戏服务器网关通信测试
  • 6.4 消息体对象序列化与反序列化
  • 6.4.1 消息体使用JSON序列化与反序列化
  • 6.4.2 消息体使用Protocol Buffers序列化与反序列化
  • 6.5 消息自动分发处理
  • 6.5.1 消息自动分发设计
  • 6.5.2 消息自动分发开发
  • 6.6 网络通信安全
  • 6.6.1 连接认证
  • 6.6.2 通信协议加密和解密
  • 6.6.3 游戏服务器网关流量限制
  • 6.7 网络连接管理
  • 6.7.1 连接管理
  • 6.7.2 连接心跳检测
  • 6.7.3 消息幂等处理
  • 6.8 本章总结
  • 第7章 游戏服务器网关与游戏业务服务数据通信
  • 7.1 游戏服务器网关与游戏业务服务通信定义
  • 7.1.1 游戏服务器网关消息转发
  • 7.1.2 定义消息通信模型
  • 7.1.3 Spring Cloud Bus 消息总线
  • 7.1.4 消息总线通信层——Kafka
  • 7.1.5 消息总线消息发布订阅测试
  • 7.2 游戏服务器网关与游戏业务服务通信实现
  • 7.2.1 消息序列化与反序列化实现
  • 7.2.2 游戏服务器网关消息负载均衡
  • 7.2.3 游戏服务器网关消息转发实现
  • 7.2.4 游戏服务器网关监听接收响应消息
  • 7.2.5 添加游戏业务服务项目
  • 7.2.6 游戏服务接收并响应网关消息
  • 7.3 游戏服务器网关与游戏服务通信测试
  • 7.4 本章总结
  • 第8章 游戏业务处理框架开发
  • 8.1 游戏服务器中的多线程管理
  • 8.1.1 线程数量的管理
  • 8.1.2 游戏服务线程池分配
  • 8.2 Netty线程池模型
  • 8.2.1 Netty线程模型的核心类
  • 8.2.2 获取线程池执行结果
  • 8.3 客户端消息处理管理
  • 8.3.1 借鉴Netty的消息处理机制
  • 8.3.2 客户端消息事件处理框架模型
  • 8.3.3 实现自定义MultithreadEventExecutorGroup
  • 8.3.4 实现GameChannel
  • 8.3.5 实现GameChannelPipeline
  • 8.3.6 实现AbstractGameChannelHandlerContext
  • 8.3.7 实现客户端消息处理与消息返回
  • 8.3.8 GameChannel空闲超时处理
  • 8.4 不同游戏用户之间的数据交互
  • 8.4.1 多线程并发操作数据导致的错误或异常
  • 8.4.2 在功能设计上避免用户数据之间的直接交互
  • 8.4.3 在架构设计上解决用户数据之间的直接交互
  • 8.4.4 GameChannel事件自动分发处理
  • 8.5 本章总结
  • 第9章 游戏用户数据管理
  • 9.1 游戏用户数据异步加载
  • 9.1.1 加载游戏数据的时机
  • 9.1.2 异步加载游戏数据实现
  • 9.2 游戏数据持久化到数据库
  • 9.2.1 游戏数据持久化方式
  • 9.2.2 异步方式持久化数据的并发问题
  • 9.2.3 数据定时异步持久化实现
  • 9.3 Player对象的封装与使用
  • 9.3.1 直接操作Player对象的弊端
  • 9.3.2 实现Player对象数据与行为分离
  • 9.4 本章总结
  • 第10章 RPC通信设计与实现
  • 10.1 游戏模块服务划分
  • 10.1.1 游戏服务需不需要微服务化
  • 10.1.2 游戏服务模块进程划分规则
  • 10.2 RPC通信实现
  • 10.2.1 自定义RPC设计
  • 10.2.2 负载均衡管理
  • 10.2.3 创建竞技场服务项目
  • 10.2.4 RPC请求消息的发送与接收
  • 10.2.5 RPC响应消息的发送与接收
  • 10.2.6 RPC请求超时检测
  • 10.3 本章总结
  • 第11章 事件系统的设计与实现
  • 11.1 事件系统在服务器开发中的重要性
  • 11.1.1 什么是事件系统
  • 11.1.2 事件系统可以解耦模块依赖
  • 11.1.3 事件系统使代码更容易维护
  • 11.2 事件系统的实现
  • 11.2.1 自定义基于监听接口的事件系统
  • 11.2.2 自定义基于注解的事件系统
  • 11.2.3 Spring事件系统应用
  • 11.3 根据事件实现的任务系统
  • 11.3.1 任务系统需求
  • 11.3.2 面向过程的任务系统实现
  • 11.3.3 面向对象的事件触发式任务系统实现
  • 11.4 本章总结
  • 第12章 游戏服务器自动化测试
  • 12.1 游戏服务器自动化测试的重要性
  • 12.1.1 单元测试使代码更简洁
  • 12.1.2 单元测试保证方法的代码正确性
  • 12.1.3 自动化测试保证代码重构的安全性
  • 12.2 游戏服务器自动化测试的实现
  • 12.2.1 TestNG框架简介
  • 12.2.2 Spring Boot单元测试配置
  • 12.2.3 方法单元测试案例实现
  • 12.2.4 服务器集成测试实现
  • 12.2.5 使用TestNG配置文件区分不同的测试环境
  • 12.3 本章总结
  • 第13章 服务器开发实例
  • 13.1 单服世界聊天系统实现
  • 13.1.1 添加客户端命令
  • 13.1.2 服务器实现消息转发
  • 13.1.3 单服世界聊天测试
  • 13.2 分布式世界聊天系统实现
  • 13.2.1 分布式世界聊天系统设计
  • 13.2.2 创建单独的聊天项目
  • 13.2.3 实现聊天消息的发布与转发
  • 13.2.4 分布式世界聊天服务测试
  • 13.3 本章总结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。